본문 바로가기

Windows API

(2)
[API] Window Class란? WinMain 함수에서 하는 가장 중요한 일은 메인 윈도우를 만드는 일인데, 윈도우가 있어야 사용자로부터 입력을 받을 수 있고 작업한 결과를 출력할 수도 있기 때문이다. 윈도우를 만들려면 윈도우 클래스를 먼저 등록한 후 CreateWindow 함수를 호출해야 한다. 윈도우 클래스는 만들어질 윈도우의 여러 가지 특성을 정의하는 구조체이며 모든 윈도우는 윈도우 클래스의 정보를 기반으로 하여 만들어진다. 윈도우 클래스는 windows.h에 다음과 같이 정의되어 있는 구조체이다. 1234567891011121314typedef struct tagWNDCLASS{ UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance..
[API] WinMain에 대해서 헤더파일 윈도우즈에서는 하나의 헤더 파일에 모든 API 함수들의 원형과 사용하는 상수들이 죄다 정의되어 있기 때문에 windows.h만 포함하면 된다. 물론 특별한 경우에는 해당하는 헤더파일을 포함해야 하지만 일반적으로는 window.h만 포함 하면 거의 충분하다. 시작점 다음으로 윈도우즈 프로그램의 시작점은 main이 아닌 WinMain이며 모든 윈도우즈 프로그램은 WinMain에서부터 실행 을 시작한다. 원형은 다음과 같다. 1int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpszCmdParam, int nCmdShow)cs WinMain의 원형은 위와 같이 고정되어 있고, APIENTRY 지정자는 윈도우즈의 표준 호출..