关于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. 生物学将是下一代计算平台:DNA是代码,CRISPR是编程语言
  2. ios4--UIView的常见属性(尺寸和位置)
  3. 关于Unity -Vuforia -Android 开发 ,平台的搭建(极品菜鸟完整版)
  4. win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:
  5. Visual Studio 2008 每日提示(八)
  6. 用计算机计算电力系统故障,用计算机计算电力系统故障的方法.ppt
  7. 15天玩转redis —— 第六篇 有序集合类型
  8. CSS:display和visibility隐藏的区别
  9. 正在更新office,应用程序无法正常启动
  10. 汇编语言 王爽 第四版 第一章 检测点1.1
  11. JS调用安卓手机摄像头扫描二维码
  12. 海康,大华 RTSP取流URL格式
  13. 云平台与操作系统两种架构的分析
  14. java填空题_JAVA填空题复习(有答案).doc
  15. 几何公差基础知识之圆度
  16. Chrome html播放器卡顿,谷歌Chrome浏览器卡顿原因及解决办法
  17. 佳博80系列小票打印机 gp 80180安装驱动,显示打印错误
  18. C语言中的类型限定符有哪些?
  19. 一文搞懂鱼眼相机模型
  20. java拆分excel_apache poi拆分excel表格

热门文章

  1. 【项目学习】C++实现高并发服务器——代码学习(一)Reactor高并发模型
  2. java respose输出mp4,使用safari读取通过servlet返回的MP4视频文件报错
  3. 树莓派4B:使用raspi-config实现USB BOOT
  4. 使用 github 或者 gitee(码云)当作 maven 仓库的方法
  5. 个人练习4.破译密码,将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。
  6. Tomcat报错Artifact is being deployed
  7. Microsoft Computer Vision APIs Distilled 免积分下载
  8. 【福利】架构师成长必备(包含大量视频)
  9. NRZ码位同步原理及FPGA实现--CDR
  10. 微信小程序微信账号登录