查看MSDN,关于WinMain入口主函数,定义如下:
int WINAPI WinMain(
HINSTANCE hInstance, // 处理当前应用程序实例的句柄
HINSTANCE hPrevInstance, // 处理前一个应用程序实例的句柄
LPSTR lpCmdLine, // 指向命令行的指针
int nCmdShow // 显示窗口的状态
);
该WinMain主函数初始化应用程序,显示一个主窗口。
参数说明:
第一个参数hInstance是指当前应用程序实例的句柄;
第二个参数hPrevInstance是处理上一个应用程序实例的句柄,在基于Win32的应用程序,该参数总是为NULL;
第三个参数lpCmdLine是指向命令行的指针;
第四个参数nCmdShow,可以查看MSDN,共有下面的一些状态,大概可以看出呈现的状态:
SW_HIDE
SW_MINIMIZE
SW_RESTORE
SW_SHOW
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL
在WinMain函数中,你可以像在main中一样进行编程。应该清楚一点,main函数是Console程序的入口函数,执行的时候会显示一个命令行窗口(像DOS窗口一样),而执行WinMain函数的时候,是显示一个Windows窗口,因此,在WinMain函数中可以调用Win32 API函数建立窗体、设定窗口的风格等等。
关于建立窗体,需要用到RegisterClass函数,它实现一个窗体的注册;需要用到CreateWindow函数,它能够创建一个窗体;需要用到ShowWindow函数,它能够使创建的窗体显示出来;进行消息循环,需要用到PeekMessage函数、TranslateMessage函数、DispatchMessage函数,等等。