본문 바로가기

전체 글234

HANDLE 이란 차량의 진행 방향을 운전자가 운전대로 주행 방향을 조작할 수 있게 해주는 장치로 조향장치라고도 한다. 운전대를 돌려서 얻는 힘을 기어를 통하여 증폭하여 바퀴의 방향을 움직여 차량의 방향을 조작할 수 있게 한다. 여기에는 사람의 힘 이외에도 유압이나 전기 모터의 힘, 그리고 전자적인 제어를 더하기도 한다. - 나무위키 차량의 핸들을 이해하면 쉽다. 즉, 제어하는 것이다. 마찬가지로 윈도우의 핸들도 커널 오브젝트를 사용하기 위해 필요한 하나의 장치라고 보면 된다. 핸들은 윈도우의 다양한 객체를 식별하고 직접적으로 사용한다. ( 객체 : 프로세스, 쓰레드, 모듈, 파이프 등등 ) 핸들의 특징 1. 대부분의 경우 32비트 정수값. 2. 운영체제가 발급해 준다. 사용자는 편리함. 3. 중복된 값을 가지지 않는다. 2020. 3. 6.
SetPrivilege 함수 공부 WINDOWS을 공부하다보면 너무 자주 만나는 친구 SetPrivilege 이 참에 공부좀 해보자. BOOL SetPrivilege(LPCTSTR lpszPrivilege, BOOL bEnablePrivilege) { TOKEN_PRIVILEGES tp; HANDLE hToken; LUID luid; // 현재 프로세스의 핸들을 가져와 관련된 액세스토큰을 가져옴. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { printf("OpenProcessToken error: %u\n", GetLastError()); return FALSE; } // 로컬 시스템에 대한 LUID를 가져옴. if.. 2020. 3. 2.
GetLastError() 코드 모음 코딩하다 에러나서 수백개의 코드를 하나하나 찾기 너무 귀찮아서 링크로 하나 걸어두기 용.. https://docs.microsoft.com/ko-kr/windows/win32/debug/system-error-codes System Error Codes - Win32 apps Error Codes In this article --> This section is intended for developers who are debugging system errors. If you reached this page while searching for other errors, here are some links that might help: More ways to find an error code We've list.. 2020. 2. 26.
멀티바이트 유니코드 TCHAR함수 WIN API 하면서 함수 계속 찾기가 번거롭다. 멀티바이트 -> 유니코드 -> TCHAR strcpy -> wcscpy -> _tcscpy (문자열을 복사) strncpy -> wcsncpy -> _tcsncpy ( 사이즈 만큼 복사) strlen -> wcslen -> _tcslen (문자열 길이 확인) strcat -> wcscat -> _tcscat (두 문자열 이어 붙이기) strncat -> wcsncat -> _tcsncat (사이즈 만큼 이어 붙이기) strcmp -> wcscmp -> _tcscmp (문자열 비교) (반환 값(-1, 0, 1)) strncmp -> wcsncmp -> _tcsncmp ( 사이즈 만큼 문자열 비교) stricmp -> wcsicmp -> _tcsicmp (대.. 2020. 2. 26.
파일 유무 확인(C++) #include "tchar.h" #include "shlwapi.h" #pragma comment(lib, "shlwapi.lib") if (PathFileExists(szDllPath)) _tprintf(L"File Exist\n"); else { _tprintf(L"File doesnt Exist\n"); return FALSE; // 함수 리턴값에 따라 -1 or FALSE } --------------------------------------------- #include "shlwapi.h" #pragma comment(lib, "shlwapi.lib") if (PathFileExists(szDllPath)) printf("File Exist\n"); else { printf("File doe.. 2020. 2. 26.
const char * 형식의 인수가 LPCWSTR 형식의 매개 변수와 호환되지 않습니다. Visual Studio 프로젝트 속성으로 들어옵니다. 프로젝트 속성 -> 구성 속성 -> 고급 -> 문자집합 -> 멀티바이트 문자집합 사용 2020. 2. 22.