본문 바로가기

[ ★ ]Study/Programming37

gcc make : Nothing to be done for 'all' Error gcc make: Nothing to be done for 'all' g++ make: Nothing to be done for 'all' 해결 방법 make clean 2020. 7. 13.
GetAsyncKeyState 함수와 GetKeyState 함수의 차이 Keylogger를 만들면서 키 입력에 대해 고민할 때 두 가지 함수를 접하게 되었다. MSDN에서는 키보드 하드웨어 값을 알고 싶을 땐 GetAsyncKeyState을 사용하라고 한다. 그러면 의문이 하나 생긴다. 둘다 똑같이 키 입력을 받아오는데 GetKeyState 이 함수는 언제 사용할 것인가? GetKeyState함수는 '눌렸는가?', '토글상태는 무엇인가?' 를 알아낼 때 사용한다. 키의 토글이란 Num Lock, Caps Lock 등의 키가 한 번 눌리면 불이 켜지고 꺼지는 것을 볼 수 있다. 이런거라고 생각하면 이해가 빠를 것이다. 물론 사실 다른 키들도 토글 상태를 가진다. 이 토글 상태를 GetKeyState함수로 알아낼 수 있다. GetKeyState 함수의 리턴 값은 키가 눌려있으면.. 2020. 3. 13.
PROCESSENTRY32 구조체 typedef struct tagPROCESSENTRY32 { DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; ULONG_PTR th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; CHAR szExeFile[MAX_PATH]; } dwsSize - 구조체의 바이트 크기. 사용할 때 초기화 안시켜주면 에러남 th32ProcessID - PID th32DefaultHeapID - 이제 사용안함 값은 0 th32ModuleID - 사용안함 항상 0 cntThread - 프로세스에 의해 시작된 스레드의 수 t.. 2020. 3. 6.
HINSTANCE와 HMODULE차이 HINSTANCE - 코드 영역에 대한 핸들 HMODULE - 데이터 영역에 대한 핸들 16비트 윈도우는 시스템 전체가 단일 메모리 공간을 사용하였다. 만일 동일 프로세스가 여러번 실행될 경우 메모리 절약을 위해 코드영역은 한 번만 로드하고 데이터 영역은 각 프로세스 별로 할당하는 방법으로 해결. 각 프로세스 별로 할당한 영역을 처리하는 부분이 HINSTANCE. 32비트 윈도우에서는 HINSTANCE, HMODULE이 같은 의미로 사용된다. 왜냐하면, 프로세스별로 메모리 공간이 독립적으로 할당되기 때문에 코드영역, 데이터영역 모두 독립된 프로세스 메모리 영역에 할당되기 때문. 2020. 3. 6.
HANDLE 이란 차량의 진행 방향을 운전자가 운전대로 주행 방향을 조작할 수 있게 해주는 장치로 조향장치라고도 한다. 운전대를 돌려서 얻는 힘을 기어를 통하여 증폭하여 바퀴의 방향을 움직여 차량의 방향을 조작할 수 있게 한다. 여기에는 사람의 힘 이외에도 유압이나 전기 모터의 힘, 그리고 전자적인 제어를 더하기도 한다. - 나무위키 차량의 핸들을 이해하면 쉽다. 즉, 제어하는 것이다. 마찬가지로 윈도우의 핸들도 커널 오브젝트를 사용하기 위해 필요한 하나의 장치라고 보면 된다. 핸들은 윈도우의 다양한 객체를 식별하고 직접적으로 사용한다. ( 객체 : 프로세스, 쓰레드, 모듈, 파이프 등등 ) 핸들의 특징 1. 대부분의 경우 32비트 정수값. 2. 운영체제가 발급해 준다. 사용자는 편리함. 3. 중복된 값을 가지지 않는다. 2020. 3. 6.
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.