win32.h #ifndef _X_WIN32_H_ #define _X_WIN32_H_ BOOL InitApplication(HINSTANCE); BOOL InitInstance(HINSTANCE,int); LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); #endif win32.cpp #include <windows.h> #include "win32.h" HINSTANCE g_hInst; HWND g_hWnd; char g_szAppName[]="WIN32Sample"; char g_szTitle[]="Win32 Sample Application"; int CALLBACK WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ) { MSG msg; UNREFERENCED_PARAMETER(lpCmdLine);//to avoid compile warnning if(!hPrevInstance) { if (!InitApplication(hInstance)) { return FALSE; } } if(!InitInstance(hInstance,nShowCmd)) { return FALSE; } while (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam;//PostQuitMessage