WinMain 函数笔记
标签:参数 back 依据 应用程序 跟踪 quit 系统 zed main
1 #include 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:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
WinMain 函数笔记
标签:参数 back 依据 应用程序 跟踪 quit 系统 zed main
原文地址:http://www.cnblogs.com/youguo/p/7806940.html
评论