| ¿øÇü |
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) |
| MFC ¿øÇü |
ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½. MFC ¶óÀ̺귯¸® ³»ºÎ¿¡ ¼û°ÜÁ® ÀÖ´Ù. |
| Àμö |
¢ºhInstance : ÇÁ·Î±×·¥ÀÇ ÀνºÅϽº ÇÚµéÀÌ Àü´ÞµÈ´Ù. ÀÌ ÇÚµéÀº ÀÌÈÄ ÇÁ·Î±×·¥ ÀÚü¸¦ ĪÇÒ ¶§ »ç¿ëµÇ¹Ç·Î º¸Åë Àü¿ª º¯¼ö¿¡ µû·Î ÀúÀåÇØ ³õ´Â´Ù. ¢ºhPrevInstance : ¹Ù·Î ¾Õ¿¡ ½ÇÇàµÈ ÇöÀç ÇÁ·Î±×·¥ÀÇ ÀνºÅϽº ÇÚµé. ¾øÀ» °æ¿ì´Â NULLÀÌ µÇ¸ç Win32¿¡¼´Â Ç×»ó NULLÀÌ´Ù. ȣȯ¼ºÀ» À§Çؼ¸¸ Á¸ÀçÇϸç Win32¿¡¼´Â Àǹ̰¡ ¾ø´Ù. ¢ºlpszCmdParam : ¸í·ÉÇàÀ¸·Î ÀÔ·ÂµÈ ÇÁ·Î±×·¥ ÀμöÀÌ´Ù. ¢ºnCmdShow : ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ ÇüÅÂÀ̸ç ÃÖ¼ÒÈ, º¸Åë ¸ð¾ç µîÀÌ Àü´ÞµÈ´Ù. |
| ¸®ÅÏ |
WM_QUIT ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ÀÌ ¸Þ½ÃÁöÀÇ wParamÀ» ¸®ÅÏÇØ¾ß ÇÑ´Ù. ÀÌ ¸®ÅϰªÀº ÇÁ·Î±×·¥À» Á¾·áÇÒ ¶§ PostQuitMessage ÇÔ¼öÀÇ Àμö¿Í °°Àº °ªÀ̸ç ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ ºÎ¸ð ÇÁ·Î¼¼½º·Î Àü´ÞµÇ¸ç º¸ÅëÀÇ °æ¿ì ¹«½ÃµÈ´Ù. ÇÁ·Î±×·¥ ÀÚüÀÇ ¿¡·¯ Äڵ带 Á¡°ËÇÒ ¶§´Â ÀÌ ¸®ÅϰªÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. |
| ¼³¸í |
¸ðµç À©µµ¿ìÁî ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÁ¡(Entry Point)ÀÌ µÇ´Â ÇÔ¼öÀÌ¸ç ¸ðµç ÇÁ·Î±×·¥Àº ÀÌ ÇÔ¼ö·ÎºÎÅÍ ½ÃÀ۵ȴÙ. ¿î¿µÃ¼Á¦´Â ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÒ ¶§ ÇÁ·Î¼¼½ºÀÇ ½ÇÇà ȯ°æÀ» ¸¸µç ÈÄ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ Áִµ¥ ÀÌ ¶§ ¿î¿µÃ¼Á¦°¡ ÇÒ´çÇÑ ÀνºÅϽºÀÇ ÇÚµé°ú »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ ÇÁ·Î±×·¥ Àμö, ½© ÇÁ·Î±×·¥ÀÌ ÁöÁ¤ÇÑ ÃʱâÈ ÇüŰ¡ Àü´ÞµÈ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÀÌ ÇÔ¼ö¿¡¼ À©µµ¿ì Ŭ·¡½º µî·Ï, ¸ÞÀÎ À©µµ¿ì »ý¼º, ¸Þ½ÃÁö ·çÇÁ µîÀÇ ÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù. ÀÌ ÇÔ¼ö¿¡¼ Á÷Á¢ ÇÁ·Î±×·¥ÀÇ Äڵ带 ÀÛ¼ºÇÏ´Â °æ¿ì´Â µå¹°¸ç Á¤ÇØÁø ¼ø¼´ë·Î ÃʱâÈ ÀÛ¾÷À» ÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ´ÙÀ½Àº ÀüÇüÀûÀÎ WinMain ÇÔ¼öÀÇ ¿¹ÀÌ´Ù.
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
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)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,nCmdShow);
hWndMain=hWnd;
while(GetMessage(&Message,0,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
À©µµ¿ì Ŭ·¡½º µî·Ï, ¸ÞÀÎ À©µµ¿ì »ý¼º, ¸Þ½ÃÁö ·çÇÁ ½ÇÇà µîÀÇ Äڵ尡 Æ÷ÇԵǾî ÀÖ´Ù. ÃʱâÈ ÄÚµå¿Í ¸Þ½ÃÁö ·çÇÁ¸¸ ÀÖÀ» »ÓÀ̸ç ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °íÀ¯ÇÑ ÄÚµå´Â º¸Åë ¸ÞÀÎ À©µµ¿ìÀÇ À©µµ¿ì ÇÁ·Î½ÃÀú¿¡ ÀÛ¼ºÇÑ´Ù. |
| Âü°íÇÔ¼ö |
WndProc : À©µµ¿ì·Î Àü´ÞµÇ´Â ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â À©µµ¿ì ÇÁ·Î½ÃÀú ÇÔ¼ö |
| Ç÷§Æû | 95ÀÌ»ó |
| ÂüÁ¶ |
WinMainÀÇ Ãʱâ Äڵ忡 ´ëÇÑ ºÐ¼®Àº 2ÀåÀ» Âü°íÇÑ´Ù. |
|
written by http://www.winapi.co.kr
|