int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; HWND hWnd; MyRegisterClass(hInstance); DWORD style; if (FULLSCREEN) style = WS_EX_TOPMOST | WS_VISIBLE | WS_POPUP; else style = WS_OVERLAPPEDWINDOW; hWnd = CreateWindow( APPTITLE, APPTITLE, style, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, NULL, NULL, hInstance, NULL); if (!hWnd) return FALSE; ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); Init_Direct3D(hWnd, SCREEN_WIDTH, SCREEN_HEIGHT, FULLSCREEN); Game_Init(hWnd); int done = 0; while (!done) { if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) done = 1; TranslateMessage(&msg); DispatchMessage(&msg); } else { Game_Run(hWnd); } } return msg.wParam; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow) { HICON IconSmall = LoadIcon(hInstance, "ICON16"); HICON IconMedium = LoadIcon(hInstance, "ICON32"); HICON IconLarge = LoadIcon(hInstance, "ICON48"); WNDCLASSEX wc; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = IconMedium; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE.c_str(); wc.hIconSm = IconSmall; RegisterClassEx(&wc); DestroyIcon(IconSmall); DestroyIcon(IconMedium); DestroyIcon(IconLarge); HWND window = CreateWindow(APPTITLE.c_str(), APPTITLE.c_str(), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, SCREENW, SCREENH, NULL, NULL, hInstance, NULL); if (window == 0) return 0; ShowWindow(window, nCmdShow); UpdateWindow(window); if (!Game_Init(window)) return 0; MSG message = { NULL, 0, NULL, NULL, 0, { 0, 0 } }; while (!gameover) { if (PeekMessage(&message, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&message); DispatchMessage(&message); } Game_Run(window); } Game_End(); return message.wParam; }