MFC从哪启动,从哪结束--关于AfxWinMain,AfxGetApp,AfxGetThread
2008-09-11 09:51
806 查看
用惯了在console模式下开发,今天转到MFC模式,竟然找不到程序在哪开始,在哪结束了。那个简洁直观的main没有了,那一坨坨的像是启动的冬冬都不知道是啥了。要用它,就赶紧研究下吧。
在VC的MFC中,有一个叫appmodul.cpp的文件,里面有一个_tWinMain的函数,这个函数就是MFC程序的启动点,相当于console的main函数了;这个文件里面还定义了一个需要外部实现的函数原型:
extern int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
__in LPTSTR lpCmdLine, int nCmdShow);
_tWinMain函数做的唯一工作就是调用AfxWinMain函数。因此对开发人员来说,AfxWinMain就是启动时需要实现的第一个函数啦。
在AfxWinMain中使用AfxWinInit,AfxGetApp初始化CWinApp;使用AfxGetThread得到CWinThread指针,进行窗口线程初始化,调用run启动窗口线程消息循环。
在AfxWinMain最后调用AfxWinTerm()函数结束窗口应用程序。
在VC的MFC中,有一个叫appmodul.cpp的文件,里面有一个_tWinMain的函数,这个函数就是MFC程序的启动点,相当于console的main函数了;这个文件里面还定义了一个需要外部实现的函数原型:
extern int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
__in LPTSTR lpCmdLine, int nCmdShow);
_tWinMain函数做的唯一工作就是调用AfxWinMain函数。因此对开发人员来说,AfxWinMain就是启动时需要实现的第一个函数啦。
在AfxWinMain中使用AfxWinInit,AfxGetApp初始化CWinApp;使用AfxGetThread得到CWinThread指针,进行窗口线程初始化,调用run启动窗口线程消息循环。
在AfxWinMain最后调用AfxWinTerm()函数结束窗口应用程序。
相关文章推荐
- MFC里AfxGetThread()与AfxGetAPP()的区别
- mfc里AfxGetAPP()与AfxGetThread()的区别
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC下结束AfxBeginThread开启的线程的一些体会
- 探索MFC全局函数-AfxGetApp()
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC全局函数开局——AfxGetApp解剖
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- 重庆大学光电工程学院 贾旭滨 对 “句柄” “指针” 有下面的描述(AfxGetMainWnd GetSafeHwnd() AfxGetAppName() AfxGetThread)
- MFC学习---AfxGetApp 解剖
- [MFC]关于Visual studio 2012的AfxGetMainWnd
- MFC全局函数开局——AfxGetApp解剖
- MFC下暂停、继续、结束AfxBeginThread开启的线程
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC全局函数开局——AfxGetApp解剖
- 【MFC】关于AfxGetMainWnd导致VS2010运行结果崩溃的解法
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
- MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态