Для определенных целей переписал winmain, почистив его от лишних обвесов. Наткнулся на уже знакомую мне проблему, запускаю дебаг, окно появляется и тут же исчезает. В консолях решал это проблему так.
Как решить ее в Win32 Project, ведь мастер это как то делает!
| Код | #include "windows.h"
#define MAX_LOADSTRING 100
TCHAR szWindowClass[MAX_LOADSTRING]; TCHAR szTitle[MAX_LOADSTRING];
LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch(msg) { case WM_PAINT: break; case WM_DESTROY: { PostQuitMessage(0); return(0); }break; } return(DefWindowProc(hwnd, msg, wparam, lparam)); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) { WNDCLASSEX windowsclass; HWND hwnd; MSG msg; windowsclass.cbSize = sizeof(WNDCLASSEX); windowsclass.style = CS_DBLCLKS|CS_OWNDC|CS_HREDRAW|CS_VREDRAW; windowsclass.lpfnWndProc = MainWinProc; windowsclass.cbClsExtra = 0; windowsclass.cbWndExtra = 0; windowsclass.hInstance = hInstance; windowsclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); windowsclass.hCursor = LoadCursor(NULL, IDC_ARROW); windowsclass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH); windowsclass.lpszMenuName = NULL; windowsclass.lpszClassName = szWindowClass; windowsclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if(!RegisterClassEx(&windowsclass)) return(0); if(!(hwnd = CreateWindowEx(NULL, szWindowClass, szTitle, WS_OVERLAPPEDWINDOW|WS_VISIBLE, 0, 0, 500, 400, NULL, NULL, hInstance, NULL))) return(0); ShowWindow(hwnd, SW_SHOWDEFAULT); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)); { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); }
|
|