新建窗口流程
#include<windows.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hpreInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASS wc = { 0 };
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL,IDC_HAND);
wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 0));
wc.lpszClassName = L"d";
if (0 == RegisterClass(&wc))
{
MessageBox(NULL, L"此程序不能运行在此OS上", L"温馨提示", MB_OK | MB_ICONWARNING);
}
HWND hwnd=CreateWindow(L"d", L"My first window!",
WS_BORDER | WS_CAPTION | WS_MAXIMIZEBOX|WS_MINIMIZE|WS_SYSMENU,
300, 200, 800, 600, NULL, NULL, hInstance, NULL);
if (hwnd == NULL)
{
MessageBox(NULL, L"窗口创建失败", L"温馨提示",MB_OK | MB_ICONERROR);
}
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam)
{
switch (umsg)
{
case(WM_CLOSE):
DestroyWindow(hwnd);
break;
case(WM_DESTROY):
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, umsg, wparam, lparam);
}