ActiveX:ActiveX控件安装、dllregisterserver的调用失败

ActiveX在广义上是指微软公司的整个COM架构,但是现在通常用来称呼基于标准COM接口来实现对象链接与嵌入(OLE)的ActiveX控件[1]后者是指从VBX发展而来的,面向微软的Internet Explorer技术而设计的以OCX为扩展名的OLE控件。通过定义容器和组件之间的接口规范,如果编写了一个遵循规范的控件,那么可以很方便地在多种容器中使用而不用修改控件的代码。同样,通过实现标准接口调用,一个遵循规范的容器可以很容易地嵌入任何遵循规范的控件。由于OLE在ActiveX控件中的应用的普及,现在OLE技术中只有少数独立于ActiveX技术,例如复合文档

ActiveX控件、ActiveX服务器和类型库注册

以软件LabVIEW为例

  • 如何在我的计算机上手动注册ActiveX控件( .ocx )、ActiveX服务器( .DLL和.EXE)以及类型库( .TLB )?
  • 在LabVIEW中打开我的ActiveX控件或类的引用时,显示错误 -2147221164:类没有注册 。如何防止此错误?

 

必须先在操作系统中注册ActiveX控件、服务器和类型库,然后才能从LabVIEW调用它们。

ActiveX控件:
ActiveX控件是扩展名为.ocx的文件。这些控件采用16位和32位格式,最常见的是32位。要注册ActiveX控件,您应该使用Regsvr32.exe,如下所示:

  1. 选择开始»运行。
  2. 在出现的对话框中键入以下内容:
    regsvr 32 “<. ocx 文件的完整路径>”
    其中“<.ocx文件的完整路径>”是控件的位置,包括引号。下图显示了注册mswinsck.ocx的示例。您需要替换要注册的ActiveX控件的文件路径和名称。
  3. 注意 :如果您有16位控件,则应运行Regsvr而不是Regsvr32 。如果您的ActiveX控件注册不正确,您必须首先取消注册(通过使用switch / u作为命令的一部分,即regsvr32 / u“ <.OCX文件的完整路径> ” ),然后再次注册。您将看到一个对话框,提醒您控件已取消注册或已成功注册。


    注意 :如果您有64位Windows,则有32位版本的 Regsrv32 和64位版本的 Regsrv32 。 64位版本的 Regsrv位于 System32 文件夹中,而32位版本位于 SysWOW64 文件夹中。默认情况下,将运行64位版本的 Regsrv 。

ActiveX服务器
ActiveX服务器可以采用动态链接库( .DLL )和可执行文件( .EXE )的形式。 DLL 与 regsvr32 一样注册为ActiveX控件,如上一节所述。但是,在注册时一个. EXE 时,您必须使用 / RegServer 的来调用 .EXE 文件,步骤如下:

  1. 选择开始»运行 。
  2. 在出现的对话框中键入以下内容:
    <.EXE 文件的完整路径> / RegServer 其中 <.EXE 文件的完整路径> 是 .EXE 服务器的位置。例如:
    C:\ TestStand \ Bin \ REngine.exe / RegServer
    注意:要取消注册.EXE ActiveX服务器,请使用 / UnRegServer 。例如:
    C:\ TestStand \ Bin \ REngine.exe / UnRegServer


类型库
类型库( .TLB )是二进制文件,包含使用.DLL 中的过程和类所需的所有类型信息。要注册类型库,您须使用regtlibv12.exe (以前称为regtlib.exe )。步骤如下:

  1. 导航到以下文件夹并将文件路径复制到剪贴板:
    C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 / regtlibv12.exe
    注意 :在某些情况下,例如在较新版本的Windows上,您的系统上可能没有regtlibv12.exe 。如果您的系统上没有regtlibv12.exe ,则可以使用Regasm.exe。
    注意 :实际的文件夹路径可能会有所不同,具体取决于计算机上安装的.NET Framework版本。这也可能位于C:\ WINDOWS \ system32 \ URTTemp \ regtlib.exe中
  2. 选择开始»运行。
  3. 在显示为的框中键入此可执行文件的完整位置:
    C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regtlibv12.exe “ < .TLB 文件的完整路径> ”
    其中“< .TLB文件的完整路径> ”是带引号的类型库文件的位置。
  4. 单击确定。

     

    Additional Information

    有关注册ActiveX控件的详细信息,请访问Microsoft支持文章。有关Regasm.exe的更多信息也可以在Microsoft的网站上找到。

dllregisterserver的调用失败

解决对dllregisterserver的调用失败的方法:

首先在开始菜单右击【命令提示符(管理员)】;然后在命令提示符中输入【regsvr32 "路径 \控件名称"】;最后确定回车即可。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chipei Kung

为了曾经那个轻易许下的梦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值