Mscomm32.ocx未注册的问题

CoCreateInstance of OLE control {648A5600-2C6E-101B-82B6-000000000014} failed.
>>> Result code: 0x80040154
>>> Is the control is properly registered?

提示是有个控件没有正确注册,但是一时也想不到是哪个控件。

通过查找67397AA3-7FB1-11D0-B148-00A0C922E820,发现其对应的ID为IDC_ADODC1,

接着查找IDC_ADODC1,DDX_Control(pDX, IDC_ADODC1, m_Adodc);

而m_Adodc有继承类,CAdodc m_Adodc

所以可以判定应是这个类的控件没注册导致出错,上网搜索msadodc.ocx,下载,放到C:\WINDOWS\system32;注册regsvr32 msadodc.ocx,成功运行;


将串口控件重新注册了一下问题解决了。winxp下这么注册串口控件
Regsvr32 c:\windows\system32\Mscomm32.ocx
2.出现下面的错误:CoCreateInstance of OLE control {67397AA3-7FB1-11D0-B148-00A0C922E820} failed
解决办法:Regsvr32 MSADODC.OCX



转:http://blog.csdn.net/chenyujing1234/article/details/7843052

mscomm32.ocx免费下载地址: http://www.rayfile.com/zh-cn/files/aa702b11-e11a-11e1-9c94-0015c55db73d/

一、现象描述:

打开资源文件时显示说:

未在此计算机上注册ActiveX控件"{648A5600-2C6E-101B-82B6-000000000014}"。请注册该控件并重试 该怎么办呢?

二、原因分析

在我们的代码中有如下:

且m_ctrlComm的类型为:

[cpp]  view plain  copy
  1. CMSComm m_ctrlComm;  


而类CMSComm的定义如下:

上面画红线底的部分就是我们报错时提示的CLSID,我在猜想在进入资源浏览时会调用到CreateControl,而且CreateControl会调用 GetClsid()来加载此CLSID对应的.ocx文件
 

三、解决方法

1、本地找到mscomm32.ocx或网上下载;

2、注册mscomm32.ocx文件

法一、手动操作;

首先,手动把mscomm32.ocx文件拷到C:\WINDOWS\system32 下;

然后:开始->运行,输入  regsvr32 msflxgrd.ocx;

最后,编辑以下内容到新建的.reg文档中:

[plain]  view plain  copy
  1. REGEDIT   
  2.   
  3. HKEY_CLASSES_ROOT/Licenses=Licensing: Copying the keys may be a violation of established copyrights.  
  4.   
  5. HKEY_CLASSES_ROOT/Licenses/4250E830-6AC2-11cf-8ADB-00AA00C00905=kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun  

运行这个.reg文件,完成注册。

法二、批处理操作(推荐用法);

写一个批处理文件完成法一中完成的四个步骤,如下:

[plain]  view plain  copy
  1. copy mscomm*.* %windir%\system32\ /y  
  2. Regsvr32 %windir%\system32\mscomm32.ocx /s  
  3. reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" /f  
  4. pause  

把mscomm32.ocx与批处理文件放在同级目录,运行即OK。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值