最近在测试一个加载ocx控件的C++程序,运行前要先注册ocx控件。

1.用运行命令提示符或者PowerShell。

2.利用命令进入到ocx文件所在的目录下输入注册命令

注册命令:regsvr32 XXXX.ocx
反注册命令:regsvr32 /u XXXX.ocx

或者直接输入注册命令,再输入ocx文件的绝对路径,回车,一般就可以注册成功的。

但是这次在测试机上弹出一个错误提示:

模块“XXXX.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80040200。

查找资料有得到以下原因和方法:

1. 缺少文件。为了尽量减少这种情况的发生,在编译时,两个地方需要修改:A. C/C++ -->  代码生成 --> 运行库,由于发布的通常是release版本,所以debug版本的可以不管,对release版本,修改为“多线程”,而不要选择“多线程 DLL”B. 如果有使用MFC,则在 常规 --> MFC的使用荐中,选择“在静态库中使用MFC”,而不要选择“在共享DLL中使用MFC”,如果是不使用MFC,则选择“使用标准windows库”此种情况发生的概率最大,通常来说,通过以上两个选择的修改,对windows库的依赖上基本可以做到最小,如果还发生这种情况,则通常是缺少第三方库导致的2. 被安全软件拦截如果注册失败,可以关闭安全软件,比如360、瑞星等杀毒或者其它权限管理工具试试3. 系统权限问题该问题在旧的系统上出现概率较低,因为旧的系统对权限的限制较小,而目前的多数系统,特别是从vista开始,比如win7、win8、win10等等对权限的限制非常严格,对于大多数用户来说都没有注册控件这种权限,包括普通的管理员。所以为了得到这个权限,必需使用Administrator登录系统来注册,否则,必需在cmd.exe上点鼠标右键选择“以管事员身份运行”来启动cmd窗口,然后在其中输入注册命令才可成功4. 系统的位宽问题早前系统只有32位的不会存在此问题,目前的win7、win8、win10都有32位和64位的区别,所以控件也区分是32位和64位。目前来说,我们的程序可能多数都是32位的,除非指定了64位编译。如果操作系统是64位,而控件是32位的,则可能需要指定正确的注册命令,通常来说需要使用 c:/windows/sysWOW64目录中regsvr32.exe来注册控件,即 c:/windows/sysWOW64/regsvr32 "d:/XXXX/XXXX.ocx"

排除不可能存在的问题后,找到了我的错误原因,权限不足,于是用管理员权限打开PowerShell,并运行命令,注册成功。

以此记录下来。

win10注册ocx控件的步骤(包含错误处理方法0x80040200)相关推荐

  1. Win7 注册ocx控件 “DllRegisterServer的调用失败,错误代码为0x80040200 ”

    在 win7系统下, 在运行里运行 regsvr32 *.OCX 时, 出来"* .OCX 已加载,但对DllRegisterServer的调用失败,错误代码为0x80040200" ...

  2. 做VB的,经常注册和反注册OCX控件和DLL链

    做VB的,经常注册和反注册OCX控件和DLL链 但是,每次都要 "开始"--"运行" --"regsvr32 C:\********\******.o ...

  3. VB制作OCX控件的步骤

    下面列出制作OCX控件的步骤: 一:新建OCX 打开VB 选择新建工程在对话框中选择ActiveX 控件(如图一(map1.gif))打开后会见一空的文档这就是 OCX控件的初始界面.想看一看空OCX ...

  4. Win7 64位系统 注册 ocx控件

    32位系统注册ocx就不谈了.网上一搜一大把.下面说下win7 64位 旗舰版下如果注册ocx控件 1.首先复制 XXXX.OCX文件到"C:\Windows\SysWOW64"目 ...

  5. 64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中。

    64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中 我的解决方案: 1.找到位于windows下的syswow64文件夹下的cmd 2.并拷贝需注册的ocx文件到sys ...

  6. 【c++】注册OCX控件

    几种注册OCX控件的方法. 一. 如果是自己编写的程序,可以以管理员身份打开VS,编译通过后即注册成功. 二.在 控制面板->用户帐户和家庭安全->用户帐户->更改用户帐户控制设置- ...

  7. win10注册MSCOMM32控件及简单使用

    原文地址::https://www.jianshu.com/p/5c54338b67b2 相关文章 1.解决Win10中MSCOMM32.ocx没注册问题----https://blog.csdn.n ...

  8. windows下注册ocx控件

    VC编程经常要用到一些第三方xxx.ocx控件(具体到各个控件的名称),在用之前需要注册,总结了两种方法. 方法一: 1,对于32位系统将xxx.ocx拷贝到C:\Windows\System32,对 ...

  9. OCX控件CAB打包手册及升级方法

    目录(?)[+] OCX:OCX称为对象类别扩充组件(Object Linking and Embedding (OLE) Control eXtension): CAB:压缩包文件.存储多个压缩文件 ...

最新文章

  1. spring--源码分析
  2. java中文件选择对话框
  3. 双指针算法(四):力扣 88.合并两个有序数组 | 经典例题
  4. sql多字段求和降序排序_elasticsearch基础笔记11-搜索排序
  5. 许可证( License LicenseLicenseLicenseLicenseLicense)服务器配置
  6. Laravel定时任务的每秒执行
  7. 【杂记】我为什么要坚持写博客
  8. hidden field implements session
  9. Unity AssetsBundle
  10. 跟踪某个类所创建对象的个数
  11. TouchPanel--Qcom DRM休眠唤醒通知链的注册及回调流程
  12. FastDFS原理概括
  13. cad连筋字体怎么安装_你还在为CAD带“?”号头疼吗?丨CAD2500份字体大全及安装方法丨...
  14. sort目标跟踪算法
  15. 微型四旋翼飞行器的设计与制作
  16. 怎么把几个音频合并在一起?
  17. abp框架java_asp.net core之abp框架
  18. [转]初中英语书中的LiLei和Hanmeimei应该结婚了吧!
  19. 使用.NET Reflector
  20. 浅谈——工科生如何撰写学术论文

热门文章

  1. 家用洗地机有什么优缺点?入门级家用洗地机
  2. 地方科技局重点科技项目在线申报管理系统
  3. 电话号码的字母组合(C++实现)
  4. 【Scratch考级99图】图32-等级考试scratch绘制复杂图形8个八边形 少儿编程 scratch画图案例教程
  5. 最系统的网站优化推广大全
  6. 微信底部白条解决办法 授权白条
  7. (转载)程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦
  8. 虚拟空间对新闻媒体的真实挑战
  9. 蒙特卡罗算法 与 拉斯维加斯算法
  10. 一篇文章搞懂前端学习方法与构建知识体系