Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

[카테고리:] C/C++/VC++

유니코드 파일 인코딩 방식 분석 방법

DarkKaiser, 2009년 2월 7일2023년 9월 6일

유니코드 파일 인코딩 방식을 확인하려면 파일의 처음 2 byte ~ 4 byte 를 가져와서 아래의 코드와 비교하시면 됩니다.

Bytes            Encoding Form

00 00 FE FF    UTF-32, big-endian

FF FE 00 00    UTF-32, little-endian

FE FF             UTF-16, big-endian

FF FE             UTF-16, little-endian

EF BB BF        UTF-8

 

메모장에서 “유니코드”로 저장하면 해당

Continue Reading

Vista 에서 Low Level 권한으로 Process 를 생성시키는 방법

DarkKaiser, 2008년 11월 22일2023년 9월 6일

출처 : http://rodream.tistory.com/45

BOOL bRet;
HANDLE hToken;
HANDLE hNewToken;

// Notepad is used as an example
WCHAR wszProcessName[MAX_PATH] = L"C:\\Windows\\System32\\Notepad.exe";

// Low integrity SID
WCHAR wszIntegritySid[20] = L"S-1-16-4096";

PSID pIntegritySid = NULL;

TOKEN_MANDATORY_LABEL TIL = {0};
PROCESS_INFORMATION ProcInfo = {0};
STARTUPINFO StartupInfo = {0};
ULONG ExitCode = 0;

if (OpenProcessToken(GetCurrentProcess(),MAXIMUM_ALLOWED, 
Continue Reading

time_t(VC6 -> VC8)

DarkKaiser, 2008년 11월 22일2023년 9월 6일

출처: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8196&page=1
출처: http://a.tk.co.kr/entry/timet-%EC%99%80-InterlockedExchange-%EC%82%AC%EC%9A%A9%EA%B8%88%EC%A7%80-Visual-Studio-2005-%EB%B3%80%EA%B2%BD

VC6의 time_t가 long형으로 디파인 되어있는데요. VC8에선 요놈이 __int64이더라구요.

c:\Program Files\Microsoft Visual Studio\VC98\Include\TIME.H

#ifndef _TIME_T_DEFINED
typedef long time_t;        /* time value */
#define _TIME_T_DEFINED     /* avoid multiple def's of time_t */
#endif

////////////////////////////////////////////////////////////////////////////

c:\program files\microsoft visual studio 8\vc\include\crtdefs.h
#ifndef _TIME64_T_DEFINED
#if     _INTEGRAL_MAX_BITS = 64
typedef __int64 __time64_t;     
Continue Reading

Visual C++ 링킹 에러 정리

DarkKaiser, 2008년 11월 17일2023년 9월 4일

출처 : http://aego.pe.kr/MFCErrors.html

LNK1103

uuid.lib(servprov_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module

  • 원인 : MS SDK 버전이 VC 호환을 지원하지 않는 SDK를 설치하고 Directory를 설정해둔 경우
  • 해결 : Directory 순서 조정

LNK4070

/OUT:filename directive in .EXP differs from output filename ‘filename’; ignoring directive

  • 원인 : Link 탭에 설정한
Continue Reading

COM DLL만으로 tlb파일 생성및 COM사용하기

DarkKaiser, 2008년 11월 17일2023년 9월 6일

출처 : http://thepassion.tistory.com/22

  1. visual studio도구의 OLE View나 실행oleview를 실행해서 oleviewer를 실행시킨다.
  2. FileView TypeLib메뉴를 선택해 해당 COM dll혹은 COM exe를 Open한다.
  3. 디스플레이되는 정보에서 Root로 표시되는 XXX(xxx x.x Type Library)를 클릭하면 오른쪽 윈도우에 idl파일을 생성해서 보여준다.
  4. 해당 내용을 xxx.idl로 저장한다.
  5. *.tlb 파일 생성하기
    방법1)
    – Win32 Dynamic Linked Library프로젝트 생성해
Continue Reading

Visual C++ 버젼별 배포방법

DarkKaiser, 2008년 11월 14일2023년 9월 6일

출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8187&page=1

제가 볼려고 정리한건데요. (다른분들 글도 인용좀 했는데 출처가 어디였는지;;;;)
잘못 알고 있는거도 있을수 있습니다. 고수님들 잘못된거 답글 부탁드립니다. ㅎ

배포전에 Dependency를 이용 꼭 필요한 파일의 목록을 확인한다.(8버젼 부터는 안먹히기도 하나 그래도 꼭 확인한다)
VC에 있는 Dependency툴은 단일파일로 실행되고 한번만 실행해주면 윈도우 탐색기 컨텍스트 메뉴에 자동으로 View Dependencies를

Continue Reading

메신저의 자리비움 기능 구현..

DarkKaiser, 2008년 10월 19일2023년 9월 5일

메신저의 자리비움 기능을 구현하려면 보통 후킹을 이용한다. 하지만 윈도우2000 이상부터는 윈도우에서 이 기능을 API를 통해서 제공해준다. API 이름은 GetLastInputInfo()..

문제는 윈도우2000 이상에서만 사용할 수 있으므로, 동적으로 함수 포인터를 얻어와서 사용할 것. 함수 포인터를 얻기 실패하였을 때(윈9x 계열일 때)는 기존의 후킹 방법으로 하면 되겠다.

GetLastInputInfoSample.zip

Continue Reading

코드사이닝 자동화

DarkKaiser, 2008년 10월 19일2023년 9월 6일

출처 : http://aego.pe.kr/AutomateCodeSigning.html#toc1

비스타 운영체제가 실행 가능한 파일 포맷(PE:.exe, .dll, .ocx)들의 코드사이닝을 강제(사용자입장에서 웬지 꺼림칙하게 느끼게)하기 시작하면서 어쩔 수 없이 기존의 배포했던 프로그램의 실행파일을 코드사이닝 처리해야 하게 되었다. 한 두개의 파일 코드사이닝이야 .bat 파일을 만들어서 하거나 아니면 직접 커맨드라인에서 signcode.exe 위저드를 통해서 처리해버려도 되지만 수백개에 달하는 파일을 처리해야 되는 경우라면

Continue Reading

xx을(를) 찾을 수 없거나 마지막 증분 링크에 의해 빌드되지 않았습니다

DarkKaiser, 2008년 10월 12일2023년 9월 5일

출처 : http://codecrue.egloos.com/782885

VisualStudio 2005 에서 컴파일하던중 아래와 같은 에러를 만나서 해결방법을 모색하던중 원인을 알아내어 올립니다.

LINK : ../../Bin/Debug/xxx_d.dll을(를) 찾을 수 없거나 마지막 증분 링크에 의해 빌드되지 않았습니다.
전체 링크를 수행하고 있습니다.

매니페스트를 포함하고 있습니다…

컴파일환경 설정에서 ‘증분 링크 사용’ 에 관한 옵션 설정이 있습니다.  증분링크?  증분링크가 뭘까?

일반적으로 사용되지

Continue Reading

시스템내에 실행중인 IE의 모든 URL 얻기

DarkKaiser, 2008년 10월 12일2023년 9월 5일

참고 : http://support.microsoft.com/default.aspx?sd=msdn&scid=kb;en-us;176792

// URL을 추출합니다.
ASSERT(m_spSHWinds != NULL);
long nCount = m_spSHWinds-GetCount();

IDispatchPtr spDisp;
for (long i = 0; i < nCount; i++) {
  _variant_t va(i, VT_I4); spDisp = m_spSHWinds-Item(va);
  SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
  if (spBrowser != NULL)
    m_ctrlUrlList.AddString(spBrowser-GetLocationURL());
}

GET_IEs_URL.zip

Continue Reading
  • Previous
  • 1
  • …
  • 4
  • 5
  • 6
  • …
  • 12
  • Next

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    ArrayList BMP CAB CAB 파일 CD-ROM COM DCOM Downcasting Encoding for each GetLastError() IHTMLDocument2 InstallShield Internet Explorer JDT LinkedList Lokbok netsh OCX Python SAX setup SVN toolbar TR1 unicows Upcasting VisualStudio WAVE XP 테마 내장 객체 다국어 레이아웃 로그 리소스 리팩토링 바이트 스트림 배열 버전관리 서브클래싱 스트림 시스템 에러메시지 유니코드 임시파일 입력 스트림

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes