VB6.0毕竟是很古老的开发工具了,其对所使用的第三方组件依赖性比较强,例如在打开从其它电脑上拿来的VB6.0的软件(系统)的工程文件(源代码)时,经常会遇到"不能加载MSCOMCTL.OCX“的错误提示,如图所示:

产生这种问题的可能性很多,例如目标电脑上MSCOMCTL.OCX组件的版本与开发该软件的电脑上的该组件版本不一样(可能性很大);目标电脑上没有该组件;该组件文件已经被破坏或者是不可读等。下面针对第一种可能性给出解决方案(如果是后面的几种可能性,则还需要自己到网上下载或者是到原电脑上复制一个该组件的文件放在指定的文件夹下:32位操作系统放在.\Windows\System32文件夹下,64位操作系统放在.\Windows\SysWOW64文件夹下。然后同样需要按照下面的方法来操作才可以)。

方法一:

在上面的对话框当中一定要点击“是”!然后在下面的对话框当中点击“确定”(该对话框就提示了使用MSCOMCTL.OCX组件的窗体名称,如果后面还有类似的提示,一律点击“确定”):

如果还遇到下面的提示框,一律点击“确定”:

最后打开了工程(源代码),我们可以看到使用了MSCOMCTL.OCX组件的窗体已经变成了这个模样:

而正常情况下该窗体应该是这个模样的(此处以可执行文件的运行截图为例来对比):

由上面两张图对比可以知道,该窗体里面因为MSCOMCTL.OCX组件的加载错误问题,已经让窗体的“工具栏”和“状态栏”等控件都不见了,而再看VB6.0里面的“工具箱”处,发现很多组件的图标都不见了:

这是因为该MSCOMCTL.OCX组件可以为VB6.0提供8种控件(上图中多圈了一个组合框控件了),即:工具栏(Toolbar),状态栏(StatusBar),图像列表(ImageList),选项卡(TapStrip),进度条(ProgressBar),树形框(TreeView),滑动块(Slider),图像组合框(ImageCombo),而打开源代码的时候随着MSCOMCTL.OCX组件的加载失败,自然这些控件的图标也就消失了,对应的窗体里面那些控件也都变成了空白的PictureBox了。

怎么解决这个问题呢?

首先在打开的VB6.0工程里面(即软件的工程里面)一定要关闭所有添加了MSCOMCTL.OCX所提供的控件的窗体(包括代码窗体),否则的话经过下面的步骤保存了以后,那些窗体里面所有之前出问题的控件就被空白的PictureBox替代了。

然后右键点击“工具箱”的空白处,选择“部件”,如图所示:

在打开的窗体里面点击“浏览”按钮:

然后在打开的对话框里面“文件名”处输入完整的“MSCOMCTL.OCX”(或者是输入一部分后从下拉列表里面选择):

然后点击“打开”按钮:

在返回的窗体里面点击“确定”按钮:

此时会发现“工具箱”内那些丢失的控件又“回来了”:

然后关闭VB6.0开发环境,在弹出的对话框里面选择“是”:

然后在再开工程文件(源代码)的时候,发现问题已经解决了,没有再弹出加载组件错误的提示了!

方法二:

以上方法可以解决绝大多数系统环境下所遇到的加载MSCOMCTL.OCX错误的问题,尤其是当操作系统是Windows7或者XP的时候,可以说能百分之百的解决问题,但是当操作系统是Windows8(8.1)或者是Windows10的时候,如果在上述方法当中添加MSCOMCTL.OCX控件的时候遇到了卡死,或者是“访问注册表错误”等的提示,不能继续使用上面的方法解决问题的时候,就需要使用下面的方法来解决问题了。

首先把已经打开的源代码工程(VB6.0开发环境)关闭了(注意:关闭的时候千万不要保存,也就是提示“保存文件的更改”那里一定要选择“否”,否则的话那些出问题的窗体可能就会保存了出问题的状态而无法挽回了)。

然后右键点击后缀名为.vbp的工程文件,选择“打开方式”,然后在打开方式的选项里面如果有“记事本”的话,则选择此项,反之的话选择“选择默认程序(C)”这一项:

然后在打开的窗体里面选择“记事本”,如图所示(如果推荐的程序处没有的话,就在“其他程序”下面寻找):

然后在上图中去掉“始终使用选择的程序打开这种文件”的钩,然后点击“确定”按钮,这样就使用记事本打开了该工程文件,然后点击记事本当中的菜单项 编辑——查找:

在打开的“查找”对话框里面输入“MSCOMCTL.OCX”,然后点击“查找下一个”按钮:

此时可以看到找到的内容左边是“#2.1#0”的样子:

把上面字符串里面的“2.1”修改为“2.0”,然后关闭文档,保存,如图所示:

然后再采用同样的方法修改所有使用了MSCOMCTL.OCX组件提供的控件的窗体里面的内容:右键点击相关的窗体frm文件,选择“打开方式”——“记事本”(或者是没有记事本选项的话,使用“选择默认程序”指定记事本),如图所示:

同样采用记事本里面查找的方法找到“MSCOMCTL.OCX”所在的那一行文本:

此时看到其左边的内容也是“#2.1#0”:

同样把“2.1”修改为“2.0”,然后关闭记事本并保存:

然后再打开工程文件(源代码)看看,这样问题应该解决了,应该不会再弹出那个“不能加载MSCOMCTL.OCX”的提示了。

后续经验:

①在Windows8(8.1)或者Windows10系统上打开VB6.0的源代码的时候,经常会遇到弹出很多的错误提示的情况,除了上面所说的那个不能加载MSCOMCTL.OCX的错误提示之外,还可能有不能加载其它组件的错误提示,此时不用管它,一直点击“确定”和“是”,等到完全打开了源代码以后,再关闭了VB6.0软件(千万不要保存),然后再打开的时候可能就什么错误提示也没有了,能全部打开了,所有的组件都正常了(这种情况我已经遇到了很多次,目前还不能解释是什么原因)。

②如果采用了上面的两种方法以后还是不能解决问题,建议:检查在方法二当中,是不是把所有的使用到MSCOMCTL.OCX提供的控件的窗体使用记事本打开以后把里面的“2.1”都修改为“2.0”了?

③如果进行了上面的所有的操作,问题最终还是不能解决的话,或者是还有其它组件加载错误的提示的话,那多半是安装的VB6.0有问题(或者是在VB6.0的安装过程中被某些诸如360之类的杀毒软件误报阻止而导致很多组件安装失败),此时可以先下载一个VB6.0的SP6升级包安装看看,如果问题依旧,或者是SP6升级包都安装失败了,那一定是安装的VB6.0软件有问题,卸载了以后重装VB6.0软件吧(而且通常安装成功了SP6升级包以后可以解决很多除了MSCOMCTL.OCX之外的组件加载错误的问题),下面提供VB6.0的SP6升级包的下载地址(百度网盘):http://pan.baidu.com/s/1kTqgUJd

④有的时候很奇怪,刚开始打开源代码的时候,除了提示MSCOMCTL.OCX加载错误之外,还有其它的很多组件加载错误的提示,但是解决了MSCOMCTL.OCX加载错误的问题以后,其它的组件加载错误的提示也跟着消失了(目前还不知道是什么原因)。

下面提供VB6.0软件的安装方法介绍:https://www.cnblogs.com/rewwensoftware/p/9563117.html

注:本博客内所有的文章均为原创,欢迎转载,但转载时请注明“瑞文软件”的字样,谢谢!

解决VB6.0中不能加载MSCOMCTL.OCX的错误提示的更多相关文章

  1. Win7下VB6.0不能加载mscomctl.ocx的解决办法

    下载这个:http://pan.baidu.com/s/1sjJgrbJ 然后在命令框下注册这个组件: regsvr32 mscomctl.ocx 即可

  2. VB 6.0不能加载MSCOMCTL.OCX的解决方法

    问题场景:打开 VB 6项目时报错,不能加载 'C:\WINDOWS\system32\MSCOMCTL.OCX'--继续加载工程吗? 解决方法: 1.新建一个VB工程,然后按CTRL + T,选中  ...

  3. 64位win7系统中vb工程显示加载MSCOMCTL.OCX失败

    MSCOMCTL.OCX明明已经注册成功,但还是提示加载失败,对象未注册 尝试过的方法:system32中注册,syswow64中注册,vb打sp6补丁, 修改工程文件:用记事本打开VBP文件找到这一 ...

  4. VB6加载MSCOMCTL.OCX出现“不能加载''”错误的处理方法汇总

    自从我安装卸载几次OFFICE和WPS后,VB6就出现了这样的问题. 然后在网上收集各种解决办法: 1.第一种:工程文件引用可能有问题,跟本机的相关组件版本不一致. 用记事本打开VBP文件找到这一行: ...

  5. 加载MSCOMCTL.OCX错误处理的几个关键

    一.工程文件说明,两个版本Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCXObject={831FDD16-0C5C- ...

  6. VB打开工程时出现不能加载MSCOMCTL.OCX

    用记事本打开VBP文件找到这一行:Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX改为:Object={831FDD1 ...

  7. 解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABTkAAAJwCAIAAADN5fIdAAAgAElEQVR4nOzdfZAc1X3o/VNFlbcoJf

  8. win7 下加载MSCOMCTL.OCX

    cd C:\Windows\System32"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regtlibv12.exe" msd ...

  9. iOS 解决LaunchScreen中图片加载黑屏问题

    iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...

随机推荐

  1. mysql5.7主从复制配置——读写分离实现

    为什么使用主从架构?1.实现服务器负载均衡:2.通过复制实现数据的异地备份:3.提高数据库系统的可用性:4.可以分库[垂直拆分],分表[水平拆分]: 主从配置的前提条件1.MySQL版本一致:2.My ...

  2. 【PyTorch深度学习60分钟快速入门 】Part0:系列介绍

      说明:本系列教程翻译自PyTorch官方教程<Deep Learning with PyTorch: A 60 Minute Blitz>,基于PyTorch 0.3.0.post4 ...

  3. 自我总结 (三) --(Java Web学习)

    自我完善的过程就是在不断的自我总结不断的改进. 在前的近半个月里,我们经过了考试,也开始了java web的项目. 先看看这次的考试.考完之后我就觉得有点不对劲的,结果 结果真的是一塌糊涂.上周五的时 ...

  4. 基于Ip的刷投票排名及刷百度推广的自动化实现

    所有基于Ip的刷投票排名,只要不涉及用户登录情况,都可以在手机端自动化实现,因为电信运营商的ip地址段是无限的,理论上,飞行模式开关一次,所分配ip地址是变化的,这就有了大量的ip可用 在手机端写个a ...

  5. Docker基础教程(常用命令篇)

    1.查看docker信息 # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2.启动容器 # 交互式 $docker run -it ...

  6. Python爬虫框架Scrapy

    Scrapy是一个流行的Python爬虫框架, 用途广泛. 使用pip安装scrapy: pip install scrapy scrapy由一下几个主要组件组成: scheduler: 调度器, 决 ...

  7. el-upload源码修改跳坑

    之前给element-ui提了一个问题,结果没有鸟我,没办法,只能修改源码来满足需求了 (备注:element-ui2依然没有修改,为了迎合产品还是要改源码) 本文讨论的组件属性仅限于list-typ ...

  8. Spring基础(1) : 自动装配

    1.自动装配 1.1 byType 1.1.1根据类型自动匹配,若当前没有类型可以注入或者存在多个类型可以注入,则失败.必须要有对于的setter方法 public class Person{ pub ...

  9. 用MVC5+EF6+WebApi 做一个小功能(四) 项目分层功能以及文件夹命名

    在上一节,我们完成了一个项目搭建,我们看到的是一个项目的分层架子,那接下来每一层做什么以及需要引用哪些内容呢?在本节内容我们还逐步拆分每一层的功能,顺带添加package包 Trump.Domain ...

  10. 临时表 on commit delete rows 与 on commit preserve rows 的区别

    -- 事务级临时表:提交时删除数据 create global temporary  table tmp_table1 (        x     number ) on commit delete ...