系统调用WinMain函数作为基于Win32的应用程序的初始入口点。
int WINAPI WinMain(
HINSTANCE 【的hInstance】, | //处理当前实例 |
HINSTANCE 【hPrevInstance】, | //前一个实例的句柄 |
LPSTR 【lpCmdLine】, | //指向命令行的指针 |
INT 【nCmdShow】 | //显示窗口状态 |
); |
参数
【的hInstance】
标识应用程序的当前实例。
【hPrevInstance】
标识应用程序的上一个实例。对于基于Win32的应用程序,此参数始终为空。如果需要检测是否存在另一个实例,请使用CreateMutex功能创建一个命名的互斥体。如果GetLastError函数返回ERROR_ALREADY_EXISTS,则存在应用程序的另一个实例(它创建了互斥体)。
【lpCmdLine】
指向一个以null结尾的字符串,指定应用程序的命令行。
【nCmdShow】
指定窗口的显示方式。此参数可以是以下值之一:
值 | 含义 |
SW_HIDE | 隐藏窗口并激活另一个窗口。 |
SW_MINIMIZE | 最小化指定的窗口并激活系统列表中的顶层窗口。 |
SW_RESTORE | 激活并显示窗口。如果窗口最小化或最大化,Windows会将其恢复到原来的大小和位置(与SW_SHOWNORMAL相同)。 |
SW_SHOW | 激活窗口并将其显示为当前的大小和位置。 |
SW_SHOWMAXIMIZED | 激活窗口并将其显示为最大化的窗口。 |
SW_SHOWMINIMIZED | 激活窗口并将其显示为图标。 |
SW_SHOWMINNOACTIVE | 将窗口显示为图标。活动窗口保持活动状态。 |
SW_SHOWNA | 显示当前状态的窗口。活动窗口保持活动状态。 |
SW_SHOWNOACTIVATE | 显示最新尺寸和位置的窗口。活动窗口保持活动状态。 |
SW_SHOWNORMAL | 激活并显示窗口。如果窗口最小化或最大化,Windows将其恢复到其原始大小和位置(与SW_RESTORE相同)。 |
返回值
如果函数成功,终止接收到WM_QUIT消息时,应返回该消息的【wParam中】参数中包含的退出值。如果函数在进入消息循环之前终止,它应返回0。
备注
WinMain初始化应用程序,显示其主窗口,然后输入消息检索和调度循环,该循环是应用程序执行剩余部分的顶级控制结构。当接收到WM_QUIT消息时,消息循环终止。此时,WinMain退出应用程序,返回在WM_QUIT消息的【wParam中】参数中传递的值。如果通过调用PostQuitMessage接收到WM_QUIT,则【wParam中】的值为PostQuitMessage函数的【nExitCode】参数的值。有关详细信息,请参阅创建消息循环.
也可以看看
CreateMutex, DispatchMessage, GetMessage, PostQuitMessage, TranslateMessage