佚名通过本文主要向大家介绍了请问有什么问题吗,请问你还有问题要问吗,请问您有什么问题吗,请问您今天要来点兔子,请问等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请问各位大大几个问题?
描述:
1 BOOL InitInstance()
这个函数到底是哪个函数调用的?exe程序到底是怎么启动的?
2
尝试精简后,仍然能正常运行,个人很好奇以上删除的函数到底会造成哪些问题或后果?
解决方案1:
哦 不过这些代码系统会自己生成 没必要细究 不过你要是以学习作为目的 那可以看下深入浅出之类的书 解决方案4:
描述:
本帖最后由 VisualEleven 于 2013-07-29 19:35:28 编辑
MFC控件InitInstanceInitCommonControlsEx
BOOL CTestApp::InitInstance()
{
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
InitCtrls.dwICC = ICC_WIN95_CLASSES; //注册InitCommonControls函数注册的所有类
InitCommonControlsEx(&InitCtrls); //初始化指定通用控件
CWinApp::InitInstance();
//允许应用程序作为控件容器来使用,mfc控件容器;mfc中用控件必须加上这句
AfxEnableControlContainer();
SetRegistryKey(_T("应用程序向导生成的本地应用程序")); //注册表
CTestDlg dlg;
m_pMainWnd = &dlg;
dlg.DoModal();
return FALSE;
}
1 BOOL InitInstance()
这个函数到底是哪个函数调用的?exe程序到底是怎么启动的?
2
CTestDlg dlg;
BOOL CTestApp::InitInstance()
{
CWinApp::InitInstance();
m_pMainWnd = &dlg;
dlg.DoModal();
return FALSE;
}
尝试精简后,仍然能正常运行,个人很好奇以上删除的函数到底会造成哪些问题或后果?
解决方案1:
加个断点调试、、VC6自带MFC源码
解决方案2:那就去看windows核心编程 解决方案3:额,这个注释是自己加的。
这个去细究的人还真的很少 看边上的注释吧...
哦 不过这些代码系统会自己生成 没必要细究 不过你要是以学习作为目的 那可以看下深入浅出之类的书 解决方案4:
1、在MFC的框架下InitInstance是CWinApp类负责调用的,如果你看一下纯win32SDK的代码可能就会有更好的理解
2、INITCOMMONCONTROLSEX的部分是注册控件类,而ICC_WIN95_CLASSES很明显是为了兼容win95的,你的程序不在95下跑显然没事,SetRegistryKey(_T("应用程序向导生成的本地应用程序"));这局是在注册表中记录应用程序信息,现在这句话显然是垃圾信息,所以删掉就对了
这个去细究的人还真的很少 看边上的注释吧...