LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 의 의미는 다음과 같다. LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 뭔가 다 비슷 비슷해보이죠? 원래 c와 c++은 string이라는 똑똑한 자료구조형을 compiler차원에서 지원하고 있지 않습니다. 그대신 가장 많이 사용하는 string을 어떻게 저장해야 할지에 대해 고심한 결과... 결국 배열의 끝에 '\0'또는 0 또는 NULL값을 넣어 string을 표현하도록 했습니다. 결국 가장 적은 용량의 string처리와 가장 골치아픈 string처리가 탄생하는 순간이였죠. 어쨌거나 요점은... Windows에서는 이런 string처리를 위해서 char* 형을 그대로 쓰기 보..
Language/C C++ MFC
이 함수는 WinProC보다 먼저 메시지를 가로채는 것으로 보통 간단한 키보드/마우스 후킹을 할 때 쓰입니다. 클래스 위자드로 PreTranslateMessage() 함수를 추가만 하면 끝...ㅋ 간단하게 생성할 수 있죠... BOOL CLASS::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_LBUTTONUP) { 이벤트 처리 } } 이런 방식으로 메세지를 받아와서 이벤트를 처리하면 되겠죠..^^ 메세지는 WM_LBUTTONUP, WM_LBUTTODOWN, WM_RBUTTONUP, WM_RBUTTONDOWN, WM_KEYDOWN,... etc. 어떤 입력 디바이스의 메세지에 따라 조건을 걸면 되겠군요.
MFC를 사용할 때 파일의 크기를 확인하려면 어떻게 해야 할까요? 복잡해 보일 수도 있지만, 사실 간단한 함수 몇 개만으로 이 작업을 수행할 수 있습니다. 본 글에서는 CreateFile()로 파일의 핸들을 얻고, GetFileSize()로 파일의 크기를 확인하는 방법에 대해 자세히 알아보겠습니다. 1. 파일의 핸들 얻기: CreateFile() 먼저, 파일의 크기를 확인하려면 해당 파일의 핸들을 얻어야 합니다. 이를 위해 CreateFile() 함수를 사용합니다. CString strInputPath; // 파일 경로 저장 변수 HANDLE hFile = CreateFile( strInputPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); 2. 핸들 유효..
문자열 검색 함수는 문자열 중 특정 문자나 부분 문자열의 위치를 찾아주는데 다음과 같은 것들이 있다. 원형이 대체로 비슷한데 첫 번째 인수로 검색 대상 문자열을 주고 두 번째 인수로 검색할 문자(열)을 주며 리턴값은 모두 문자형 포인터이다. char *strchr(const char *string, int c); char *strrchr(const char *string, int c); char *strstr(const char *string, const char *strSearch); char *strpbrk(const char *string, const char *strCharSet ); char *strtok(char *strToken, const char *strDelimit); strchr 함수..