Windows Memory Define DarkKaiser, 2007년 12월 26일2023년 9월 5일 메모리 초기화 하지 않았을 때 할당되는 각각의 메모리 값입니다. 0xAB, 0xABAB, 0xABABAB ->LocalAlloc()에 의해서 할당된 메모리 0xBAADF00D -> LocalAlloc ( LMEM_FIXED, … )에 의해서 할당된 메모리 0xFEEE -> HeapAlloc() 또는 LocalAlloc()에 의해서 할당된 메모리 0xCC -> /GZ 옵션을 사용한 경우, 초기화 되지 않은 변수에 자동으로 할당되는 값(스택) 0xCD -> 메모리 Continue Reading
Downloaded Program Files 에 설치된 OCX 제거 DarkKaiser, 2007년 12월 26일2023년 9월 6일 [ 기초 ] Downloaded Program Files 폴더는 Windows의 OCX 캐쉬 폴더이고 occache.dll에 의해 구현된 셸 확장 폴더입니다. 이 폴더는 웹에서 cab 파일로 컨트롤이나 기타 프로그램을 다운로드했을 때 –> Internet Component Download (MSICD) 기능 cab 파일에 inf 파일이 없거나 inf 파일에서 설치 위치를 지정하지 않은 경우 디폴트로 설치되는 장소입니다. [ 목적 Continue Reading
특정 확장자명으로 프로그램 실행시키기 DarkKaiser, 2007년 12월 26일2023년 9월 6일 출처 : http://cafe.naver.com/opencv.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1217 1.요약 mp3 파일을 더블클릭하거나 bmp 파일을 더블클릭하면 해당 프로그램이 자동으로 실행되는 것을 보셨을 것입니다. 이것은 레지스트리에 해당 확장자명과 실행시킬 프로그램을 등록하는 것인데 ATPlayer를 예제로 하여 만들어보도록 하겠습니다. 2.본문 특정 확장자명으로 프로그램을 실행시키려면 “.atl”같은 확장자명을 Class Root 레지스트리에 키로 등록하여야 합니다. 이 확장자명을 가진 키의 Default 값으로 “ATutor.Document”처럼 Continue Reading
UTF8로 인코딩 혹은 디코딩 DarkKaiser, 2007년 7월 20일2023년 9월 4일 char* UTF8_Encode(LPCTSTR str) { USES_CONVERSION; /* str이 Unicode인지 Ansi 인지 따질 필요없게 T2CW로 변환 */ const WCHAR* wStr = T2CW(str); /* 길이는 -1로 주어 널NULL 문자도 변환되도록 */ /*WCHAR -UTF-8 */ /*wStr의 크기를 구함 */ int nUTF8codeSize = WideCharToMultiByte(CP_UTF8, 0, wStr, -1, NULL, 0, NULL, NULL); char *utf8Str = Continue Reading
CreateFile() 함수를 이용하여 파일 생성후 바로 삭제하기 DarkKaiser, 2007년 7월 17일2023년 9월 5일 아래와 같이 파일을 생성시에 FILE_FLAG_DELETE_ON_CLOSE 속성을 주게 되는경우 파일 핸들이 닫히게 되면 해당 파일은 시스템에서 삭제가 된다. 또한 이미 존재하는 파일인 경우에는 FILE_SHARE_DELETE 공유 모드로 오픈하여야 한다. hFile = CreateFile("d:\\MYFILE.TXT", /* create MYFILE.TXT */ GENERIC_WRITE, /* open for writing */ 0, /* do not share */ NULL, /* no security Continue Reading
성공적인 프로젝트를 위한 다국어 리소스 준비-2 DarkKaiser, 2007년 7월 17일2023년 9월 6일 출처 : 데브피아 석재헌님의 글http://www.devpia.com/Forum/BoardView.aspx?no=7282&ref=7282&page=2&forumname=vc_lec&stype= 1. 리소스 라이브러리 앞서의 글에서 이야기한 다국어 리소스 대응 방식으로는, 다국어 리소스가 많아지면 관리하기도 어려워지고, 컴파일되어 나온 출력물이 커지는 단점이 있습니다. 이런 경우 각각의 언어에 대응되는 리소스들을 따로 혹은 몇 개를 묶어서 라이브러리화 하면, 유지보수 하기가 한 결 쉬어 집니다. 때때로 코드페이지의 한계로 같이 Continue Reading
성공적인 프로젝트를 위한 다국어 리소스 준비-1 DarkKaiser, 2007년 7월 17일2023년 9월 6일 출처 : 데브피아 석재헌님의 글http://www.devpia.com/Forum/BoardView.aspx?no=7281&ref=7281&page=2&forumname=vc_lec&stype= 1. 다국어 리소스 국내뿐만 아니라 해외에서도 널리 쓰이는 소프트웨어가 되기 위해서는 주체가 누구든지 로컬라이징(Localizing-이하 ‘지역화’)을 해 주든지 과정이 필요합니다. 이 때 개발자가 만든 프로그램이 이러한 지역화에 준비되어 있지 않으면, 개발자 뿐만 아니라 많은 사람들이 피곤하게 됩니다. (특히, 개발자만 죽어나는 경향이 있습니다.) 그러나, 다국어 리소스에 Continue Reading
웹페이지의 MFC 컨트롤을 패키지로 만드는 방법 DarkKaiser, 2007년 7월 17일2023년 9월 6일 Activex를 CAB 파일로 만들때 필요한 inf파일 작성법 http://support.microsoft.com/default.aspx?scid=kb%3Bko%3BKR167158 Continue Reading
오피스 파일 구별하기 DarkKaiser, 2007년 7월 17일2023년 9월 4일 /* Word Document (*.doc) : {00020906-0000-0000-C000-000000000046} */ static const GUID CLSID_WORD = { 0x00020906, 0x0, 0x0, { 0xC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46 }}; /* Excel Worksheet (*.xls) : {00020820-0000-0000-C000-000000000046} */ static const GUID CLSID_EXCEL = { 0x00020820, 0x0, 0x0, { 0xC0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, Continue Reading
Web으로부터 ActiveX 컨트롤을 다운받아서 실행하는 VC 예제 DarkKaiser, 2007년 7월 17일2023년 9월 6일 VC에서도 Internet Explorer처럼 웹에서 ActiveX를 다운로드 받아서 실행(ocx, cab)시키는 방법이 있더군요. 기본적으로 IBindStatusCallback을 사용하여 다운로드를 진행하고 CoGetClassObjectFromURL()함수를 이용하여 ClassFactory를 얻어오게 되어있습니다. 다운로드가 완료되면 CWnd::CreateControl()을 이용하여 CWnd에 Attatch되는군요. urlobj.zip Continue Reading