关于C++调用::CoCreateInstance创建对象提示没有注册类的问题的解决

  最近做一个C++项目的时候,遇到一个棘手的问题,是关于COM组件的,我完全不会这个技术,因为我没接触过C++后端,所以关于这个COM组件我更是一脸懵逼,我试着把自己编写的代码加入到其中,测试看看结果,但是在我代码运行之前,我要使用的对象没有办法创建出来:

它报的是xxx.没有注册类,我调试代码把问题定位到了以下一段代码:

 HRESULT hr;hr = m_Core.CoCreateInstance(CLSID_Core2);

于是我去了解了下这个方法,就是依靠具体的UUID去创建一个类,而这个类必须注册到我们系统的注册表中。

以下是很多种情况,可以对号入座试试:

解决方法:

看看提示到的dll文件有没有在系统文件夹中出现,没有的话就添加并注册

  于是我先去看了看问题描述的combase.dll,这个类肯定是需要在系统文件夹里面要出现的,因为要提示说要用到它 ;我打开了C:\Windows\System32和C:\Windows\SysWOW64文件夹(我也不知道是用哪个,说64位系统看Systeam32文件夹,32位看SysWOW64文件夹),看有没有combase.dll,如果没有就找一个放进去,然后使用regsvr32命令注册一下试试。对于部分dll文件没有注册类,这类办法应该是有作用的;但是我这里这个dll文件完全注册不了,所以这种解决办法对我没有作用。

看看注册的类的UUID具体是啥,能否在系统注册表中找到

  在程序种找到自己要创建类的UUID,对比UUID去查找注册表中的值,看是否有对应的值存在于注册表,如果没有的话,你得考虑这个类是自己设定的UUID值,还是其他程序主动写入注册表的,如果是你自己写入的话,你可以尝试将对应的类和UUID写入到注册表中(可以去百度一下),如果是程序写入的话,尝试卸载重装软件,以管理员身份运行安装,看看注册表中会不会出现对应的UUID。如果你发现UUID已经存在,并且还是出现没有注册类,那可能就是最后一种问题了。

看看自己的运行环境,将x64环境改为x86环境

  我这里的问题就是系统盘存在对应的dll文件,注册表中也有相应的值,但是就是无法创建出对象,会提示没有注册类的错误,这时候将自己的调试环境转换到了x86之后,我发现CoCreateInstance创建对象就成功了。

  这里我能想到的解决方案就只有以上几种,如果都不行,那只能自行去慢慢摸索了。

关于C++调用::CoCreateInstance创建对象提示没有注册类的问题的解决相关推荐

  1. 在调用CoCreateInstance时返回没有注册类?

    一日在调试一款山寨短信猫程序时,按照里面的文本要求,regsvr32 xxxx.dll注册了其com控件,但在编译其例子后运行时始终报"创建短信核心组件失败",一开始以为是系统问题 ...

  2. html没有注册类,电脑中ie浏览器提示没有注册类别的三种解决方法

    ie浏览器功能十分强大,能够给我们带来很棒的网页浏览体验.不过,一些朋友反馈自己在使用ie浏览器过程中,突然遇到"没有注册类别"的出错提示,这是怎么回事呢?其实这是文件的丢失等原因 ...

  3. iisreset远程重启IIS服务提示没有注册类

    今天在Windows Server 2008 R2下尝试用命令行重启IIS,系统提示"没有注册类".查了下可能是是IIS安装时dll没注册成功,运行以下命令即可: C:\Windo ...

  4. Notes 发送失败 提示没有注册类, ClassID: {29131539-2EED-1069-BF5D-00DD011186B7}

    Lotus 发送失败 提示没有注册类, ClassID: {29131539-2EED-1069-BF5D-00DD011186B7} 解决方法: 注册下 Lotus安装目录下的 nlsxbe.dll ...

  5. arcgis 添加excel站点数据时,提示没有注册类

    在将EXCEL导入成xy点时,遇到了问题 按照网上的介绍先使用了Excel to table工具,也是报错 之后修改为英文文件名同样报错 将文件在Arcgis pro中打开,可以打开但是不能选择经纬度 ...

  6. 启动谷歌浏览器chrome,提示”没有注册类”

    双击桌面图标启动谷歌浏览器chrome时,提示"没有注册类". 我个人发现直接启动安装目录下的chrome.exe正常,但双击桌面快捷方式,报错:如图 个人解决方案如下:将一下代码 ...

  7. 金蝶k3 wise 15.0单据序时簿二维码打印后打印预览时提示没有注册类

    金蝶K3 wise 15.0 销售出库单打开二维码打印后这个界面在点击布局设计或打印预览时提示没有注册类,提示如下: 解决方案: 请在K3安装目录C:\Program Files (x86)\King ...

  8. Vue 运行提示“没有注册类”的解决办法

    在运行Vue项目时,突然弹出警告框"没有注册类",但项目依旧可以运行,只是未能自动启动浏览器,网上查阅了各种解决办法后,发现没一个是真正能解决问题的. 后来发现,自己电脑的默认浏览 ...

  9. Windows下软件提示“没有注册类”问题解决

    相关的dll没有注册,手动注册后,发现 regsvr32 C:\Windows\SysWOW64\***.dll 会提示加载失败,查到原因为 管理员的命令行(批处理)默认的是system32文件夹. ...

最新文章

  1. python之抽象基类
  2. 鸿海拟收购韩国家电企业东洋美吉 价格或达4.5亿美元
  3. Windows Phone 7用户界面原型截图汇总
  4. Java异常知识整理_处理异常时的性能开销
  5. mysql-proxy完成mysql读写分离
  6. 24 FI配置-财务会计-允许负值记账
  7. pycharm快捷键之①“上下移动某一行“②参数提示
  8. mime类型总结 input_type=file限制
  9. 阿里平头哥CPU技术生态负责人陈炜:平头哥的发展之路
  10. 微积分专项----MIT GS老师
  11. 备战面试日记(2.4) - (JVM.GC算法)
  12. 摄影的工作原理:相机,镜头等
  13. MPLAB 安装 mmc 报错需要安装web相关插件
  14. Ubuntu下安装deb包命令
  15. 开发小程序需要服务器吗?小程序服务器配置有什么要求?
  16. java启动器_Minecraft Java版新启动器正式开放
  17. PC微信逆向:两种姿势教你解密数据库文件
  18. 追求思考的深度与条理清晰地阐述
  19. 2021年你读了哪些觉得比较好的计算机书籍?
  20. C++ 求 等差数列

热门文章

  1. 电脑流量监控软件监控局域网员工电脑流量使用情况
  2. Google Groups
  3. 计算机操作系统第四版读书笔记,《操作系统》读后感10篇
  4. centos 解除链接_KeyShot 9.2 新功能介绍!(附下载链接)
  5. php+三码合一,三码合一,解决php mysql乱码
  6. 精品内容永不过时,个人站长应自我审视
  7. BZOJ 1029: [JSOI2007]建筑抢修【贪心】
  8. 映射到外网华为云_Windows 如何使用端口映射
  9. 优秀原型设计欣赏:交通类App原型制作分享-DiDi
  10. 应用在开关模式电源中的光耦合器