IT하는 참새

Win32 API - Template 본문

프로그래밍/Win32 API

Win32 API - Template

pshot 2017. 12. 3. 20:10

#include <windows.h>


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE g_hInst;

LPCTSTR lpszClass = TEXT("First");


int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nShowCmd) 

{

HWND hWnd;

MSG Message;

WNDCLASS WndClass;

g_hInst = hInstance;


WndClass.cbClsExtra = 0;

WndClass.cbWndExtra = 0;

WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);

WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);

WndClass.hInstance = hInstance;

WndClass.lpfnWndProc = WndProc;

WndClass.lpszClassName = lpszClass;

WndClass.lpszMenuName = NULL;

WndClass.style = CS_HREDRAW | CS_VREDRAW;


RegisterClass(&WndClass);


hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,

NULL, (HMENU)NULL, hInstance, NULL);


ShowWindow(hWnd, nShowCmd);


while(GetMessage(&Message, NULL, 0, 0)) 

{

TranslateMessage(&Message);

DispatchMessage(&Message);

}


return (int)Message.wParam;

}


LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)

{

switch(iMessage)

{

case WM_DESTROY:

PostQuitMessage(0);

return 0;

}


return (DefWindowProc(hWnd, iMessage, wParam, lParam));

}


윈도우 프로그래밍을 하기위한 정말

기본중의 기본코드이다.


앞으로 이 형태에서 변형해가며 공부하겠다.

'프로그래밍 > Win32 API' 카테고리의 다른 글

Win32 api - MessageBox  (0) 2018.07.15
Win32 api - DC  (0) 2018.07.15
Win32 api - Process  (0) 2018.07.15