• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 请问各位大大几个问题?

请问各位大大几个问题?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了请问有什么问题吗,请问你还有问题要问吗,请问您有什么问题吗,请问您今天要来点兔子,请问等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请问各位大大几个问题?
描述:

本帖最后由 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:

引用 8 楼 liaoyuhuan35 的回复:
Quote: 引用 5 楼 xianglitian 的回复:

1、在MFC的框架下InitInstance是CWinApp类负责调用的,如果你看一下纯win32SDK的代码可能就会有更好的理解
2、INITCOMMONCONTROLSEX的部分是注册控件类,而ICC_WIN95_CLASSES很明显是为了兼容win95的,你的程序不在95下跑显然没事,SetRegistryKey(_T("应用程序向导生成的本地应用程序"));这局是在注册表中记录应用程序信息,现在这句话显然是垃圾信息,所以删掉就对了

 请问各位大大几个问题?
我了解的状况就是停顿在INITCOMMONCONTROLSEX 是注册空间类,dwICC:结构中的dwICC字段指定了需要注册的扩展通用控件类。
想了解的更深入点,以此来了解整个程序的生灭。
那就去看windows核心编程

解决方案3:

引用 6 楼 liaoyuhuan35 的回复:
Quote: 引用 4 楼 yaozhiyong110 的回复:

这个去细究的人还真的很少   看边上的注释吧...
额,这个注释是自己加的。

哦 不过这些代码系统会自己生成  没必要细究  不过你要是以学习作为目的 那可以看下深入浅出之类的书  

解决方案4:

1、在MFC的框架下InitInstance是CWinApp类负责调用的,如果你看一下纯win32SDK的代码可能就会有更好的理解
2、INITCOMMONCONTROLSEX的部分是注册控件类,而ICC_WIN95_CLASSES很明显是为了兼容win95的,你的程序不在95下跑显然没事,SetRegistryKey(_T("应用程序向导生成的本地应用程序"));这局是在注册表中记录应用程序信息,现在这句话显然是垃圾信息,所以删掉就对了

解决方案5:

这个去细究的人还真的很少   看边上的注释吧...


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 请问这个是什么问题?关于com注册的!
  • 请问一个hook问题
  • 请问高手,我想做一个ActivexocxMFC的控件,想问一些问题?
  • 请问一个g_pConnCreateInstance__uuidofConnection;的问题
  • 请问一个关于多进程的问题。
  • 简单的问题,请问在Dll的函数参数能不能是结构类构的。
  • 请问dll中使用modelessdialog的问题
  • 请问vc如何控制超时问题
  • 請問一個關于CriticalSection的問題
  • 请问一个DLL初级问题

相关文章

  • 2017-06-04 急求关于调用外部DLL的COM组件问题。
  • 2017-06-05 VS2008创建的MFCActiveX控件,当在工程引入后看不到自定义的事件?
  • 2017-06-05 各位大侠请帮俺解决一个问题
  • 2017-06-05 为什么动态连接库里带GridCtrl这个控件的对话框没有显示???
  • 2017-06-05 关于VC6工程移植到VS2010后编译失败的问题
  • 2017-06-04 什么叫文件指针??如何定位呢?
  • 2017-06-04 多接口组件产生warpper包装类时的问题
  • 2017-06-04 NET可以完全替代COM吗?
  • 2017-06-04 快捷方式中目标中的参数在activex中怎么用
  • 2017-06-05 如何降低一个进程的运行优先级别?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • MSChart控件怎么用?
    • 在开发SP短信平台时碰到的问题
    • 一个小问题ACTIVEX如何实现刷新?
    • 请教高手?在MDI主窗口中通过dll建立其子窗口,要求和在主程序中new出来的效果相同
    • xp下如何在多线程的应用中保护公共数据?
    • 用InstallShield631制作安装程序时,如果把图标编程63版本一样的图。而不要它原来的。或者干脆把整个对方框图标改了。高手指点,谢谢了
    • COM接口方法中的多维数组传递问题?
    • 关于在VC中调用VB制做的Activexdll组件的问题
    • ATL编程中,怎样在一个类中使用自己创建的另一个类作为参数类型
    • 技术问题!急,up有分~~~~~~~~~~~也想知道的帮我顶

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有