WinMain函数简介
2016-07-12 17:40
363 查看
Winmain是windows平台下应用程序的入口函数。
程序实现的步骤为:Winmain函数的定义->创建一个窗口->进行消息的循环->编写窗口过程函数。
形式为:
Int WINAPI WinMain(
HINSTANCE hInstance, //当前实例的句柄
HINSTANCE hPrevInstance, //前一个实例的句柄
LPTSTR lpCmdLine, //命令行参数
Int nCmdShow //窗体显示形式(最大化、最小化)
);
MFC中为
Extern “C” int WINAPI
_tWinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine,int nCmdShow)
{
// call shared/exported WinMain
Return AfxWinMain(hinstance, hPrevInstance, lpCmdLine, nCmdShow);
}
实际上 _tWinMain
就是WinMain 而WinMain函数实际调用AfxWinMain函数。
程序流程:全局变量空间开辟及初始化->WinMain->AfxWinMain->在AfxWinMain函数中获取pApp
和 pThread 类型变量->设计窗口类->注册窗口类->创建窗口->显示窗口->更新窗口->消息循环->窗口过程函数->pApp.InitApplication、pThread->InitInstance
theApp对象唯一标示MFC应用程序本身,派生于CWinApp应用程序类。
Int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
{
…
CWinThread* pThread = AfxGetThread();
CwinApp* pApp = AfxGetApp();
…
}
程序实现的步骤为:Winmain函数的定义->创建一个窗口->进行消息的循环->编写窗口过程函数。
形式为:
Int WINAPI WinMain(
HINSTANCE hInstance, //当前实例的句柄
HINSTANCE hPrevInstance, //前一个实例的句柄
LPTSTR lpCmdLine, //命令行参数
Int nCmdShow //窗体显示形式(最大化、最小化)
);
MFC中为
Extern “C” int WINAPI
_tWinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine,int nCmdShow)
{
// call shared/exported WinMain
Return AfxWinMain(hinstance, hPrevInstance, lpCmdLine, nCmdShow);
}
实际上 _tWinMain
就是WinMain 而WinMain函数实际调用AfxWinMain函数。
程序流程:全局变量空间开辟及初始化->WinMain->AfxWinMain->在AfxWinMain函数中获取pApp
和 pThread 类型变量->设计窗口类->注册窗口类->创建窗口->显示窗口->更新窗口->消息循环->窗口过程函数->pApp.InitApplication、pThread->InitInstance
theApp对象唯一标示MFC应用程序本身,派生于CWinApp应用程序类。
Int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
{
…
CWinThread* pThread = AfxGetThread();
CwinApp* pApp = AfxGetApp();
…
}
相关文章推荐
- linker command faild with exit code
- Foxmail中QQ企业邮箱只能收取不能发送邮件
- HDU 2653 Waiting ten thousand years for Love
- JetBrains dotPeek
- openssh无法登录:server responded "algorithm negotiation failed”
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
- ACM--类Fibonacci 数列--HDOJ 1021--Fibonacci Again--水
- Operating Systems: Three Easy Pieces(操作系统:三个简单方面)5进程API/5.2&&5.3wait()和exec()
- 本地yum源搭建及failed to retrieve解决
- 图解RAID 0, RAID 1, RAID 5, RAID 10
- 实用的Portraiture滤镜磨皮教程
- 域名查询工具 Domain Serach
- Codeforces C2. Brain Network (medium)
- Andriod Studio adb.exe,start-server' failed -- run manually if necessary 解决
- Codeforces C1. Brain Network (easy)
- 【bzoj2434-阿狸的打字机】AC自动机+fail树+优化
- hdu 4300 Clairewd’s message
- email 发送邮箱修改密码
- linker command failed with exit code 1 (use -v to see invocation)
- 【打CF,学算法——二星级】Codeforces 22B Bargaining Table(区域和)