afxwininit以及mfc中winmain的主要功能

afxwininit以及mfc中winmain的主要功能

ID:34721585

大小:87.06 KB

页数:11页

时间:2019-03-10

afxwininit以及mfc中winmain的主要功能_第1页
afxwininit以及mfc中winmain的主要功能_第2页
afxwininit以及mfc中winmain的主要功能_第3页
afxwininit以及mfc中winmain的主要功能_第4页
afxwininit以及mfc中winmain的主要功能_第5页
资源描述:

《afxwininit以及mfc中winmain的主要功能》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、AfxWinInitVisualStudio2012其他版本此主题尚未评级 - 评价此主题作为基于GUI的应用程序的 CWinApp 初始化的一部分,此函数由由MFC提供的 WinMain 函数时,初始化,MFC。BOOLAFXAPIAfxWinInit(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow);参数hInstance当前正在运行的模块的句柄。hPrevInstance对应用程序的上一个实例的句柄。 对于基于

2、Win32的应用程序,此参数始终是 NULL。lpCmdLine指向指定命令行的一个NULL终止的字符串为应用程序。nCmdShow指定GUI应用程序的主窗口将如何显示。备注对于控制台应用程序,不使用由MFC提供的 WinMain 功能,您必须直接调用 AfxWinInit 初始化MFC。如果调用 AfxWinInit ,应声明 CWinApp 类的实例。 对于控制台应用程序中,可以选择从 CWinApp 不派生您的类并不直接使用 CWinApp 实例。 ,如果您的 主的实现,决定将应用程序的所有功能保留此

3、方法很合适。 说明在创建程序集时激活上下文,则MFC使用用户模块提供的清单资源。 激活上下文在 AfxWinInit创建。 有关更多信息,请参见 为MFC模块状态的激活上下文支持。示例C++#include#includeint_tmain(int/*argc*/,TCHAR*/*argv[]*/,TCHAR*/*envp[]*/){intnRetCode=0;//initializeMFCandprintanderroronfailureif(!AfxWinInit(::G

4、etModuleHandle(NULL),NULL,::GetCommandLine(),0)){//TODO:changeerrorcodetosuityourneeds_tprintf(_T("FatalError:MFCinitializationfailed"));nRetCode=1;}else{//trytoconnecttoanODBCdatabasethatdoesn'texist//(thiswouldn'tworkatallwithoutinitializingMFC)CDataba

5、sedb;try{db.Open(_T("ThisDatabsaeDoesn'tExist"));//weshouldn'trealisticallygethere_tprintf_s(_T("Successful!")_T("Closing..."));db.Close();_tprintf_s(_T("Closed!"));}catch(CDBException*pEx){//wegotanexception!printanerrormessage//(thiswouldn'tworkwitho

6、utinitializingMFC)TCHARsz[1024];_tprintf_s(_T("Error:"));if(pEx->GetErrorMessage(sz,1024))_tprintf_s(sz);else_tprintf_s(_T("Noerrormessagewasavailable"));_tprintf_s(_T(""));pEx->Delete();nRetCode=1;}}returnnRetCode;}要求Header: afxwin.h请参见参考CWinApp类主:启动程序W

7、inMain概念MFC宏和GlobalsCWinApp:TheApplication类MFC中WinMain的主要任务流程WinMain()主要执行:CWinApp*pApp=AfxGetApp();AfxWinInit();pApp->InitApplication();pApp->InitInstance();nReturnCode=pApp->Run(); 1.WinAppCWinApp负责程序的初始化执行等等。2.AfxWinInit();AfxWinInit主要做的事情是:(1)对winapp进行

8、初始化(2)AfxInitThread()线程初始化的一些操作;BOOLAFXAPIAfxWinInit(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){ASSERT(hPrevInstance==NULL);AFX_MODULE_STATE*pState=AfxGetModuleState();pState->m_hC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。