标签:参数 back 依据 应用程序 跟踪 quit 系统 zed main
1 #include <windows.h> 2 3 LRESULT CALLBACK WindowProc( 4 _In_ HWND hwnd, 5 _In_ UINT uMsg, 6 _In_ WPARAM wParam, 7 _In_ LPARAM lParam 8 ); 9 10 int CALLBACK WinMain( 11 _In_ HINSTANCE hInstance, 12 _In_ HINSTANCE hPrevInstance, 13 _In_ LPSTR, 14 _In_ int nCmdShow 15 ) 16 { 17 WCHAR * cls_Name = TEXT("My Class"); 18 19 WNDCLASS wc = {}; 20 wc.hbrBackground = (HBRUSH)COLOR_WINDOW; 21 wc.lpfnWndProc = WindowProc; 22 wc.lpszClassName = cls_Name; 23 wc.hInstance = hInstance; 24 25 RegisterClass(&wc); 26 27 HWND hwnd = CreateWindow( 28 cls_Name, //类名,要和刚才注册的一致 29 L"我的应用程序", //窗口标题文字 30 WS_OVERLAPPEDWINDOW, //窗口外观样式 31 38, //窗口相对于父级的X坐标 32 20, //窗口相对于父级的Y坐标 33 480, //窗口的宽度 34 250, //窗口的高度 35 NULL, //没有父窗口,为NULL 36 NULL, //没有菜单,为NULL 37 hInstance, //当前应用程序的实例句柄 38 NULL); //没有附加数据,为NULL 39 if (hwnd == NULL) 40 { 41 return 0; 42 } 43 44 ShowWindow(hwnd, SW_SHOW); 45 46 UpdateWindow(hwnd); 47 48 49 MSG msg; 50 while (GetMessage(&msg, NULL, 0, 0)) 51 { 52 TranslateMessage(&msg); 53 DispatchMessage(&msg); 54 } 55 return 0; 56 } 57 58 59 LRESULT CALLBACK WindowProc( 60 _In_ HWND hwnd, 61 _In_ UINT uMsg, 62 _In_ WPARAM wParam, 63 _In_ LPARAM lParam 64 ) 65 { 66 switch (uMsg) 67 { 68 case WM_DESTROY: 69 { 70 PostQuitMessage(0); 71 return 0; 72 } 73 default: 74 break; 75 } 76 return DefWindowProc(hwnd, uMsg, wParam, lParam); 77 } 78 79 /* typedef struct tagWNDCLASS { 80 UINT style; 81 WNDPROC lpfnWndProc; 82 int cbClsExtra; 83 int cbWndExtra; 84 HINSTANCE hInstance; 85 HICON hIcon; 86 HCURSOR hCursor; 87 HBRUSH hbrBackground; 88 LPCTSTR lpszMenuName; 89 LPCTSTR lpszClassName; 90 } WNDCLASS, *PWNDCLASS; */
winMain中的参数:
hinstance - 该参数为Windows 为应用程序生成的实例句柄。实例是用来跟踪资源的指针。
hprevinstance 前一个实例,即程序的父亲的程序实例。
ipcmdline - 命令行参数。
ncmdshow 指出如何打开程序的窗口。ncmdshow的值一般会用于ShowWindows()中使用,用来设置新建子窗口的形式。
参数的值可以为:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。
SW_HIDE:隐藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_SHOWMAXIMIZED:激活窗口并将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其最小化。
SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。
SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
标签:参数 back 依据 应用程序 跟踪 quit 系统 zed main
原文地址:http://www.cnblogs.com/youguo/p/7806940.html