ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD(activate a key)学到了

随心笔谈3年前发布 admin
184 0 0

文章摘要

这篇文章主要介绍了在Windows系统中使用VBS脚本时遇到的“ActiveX部件不能创建对象,代码:800A01AD”错误的解决方法。文章分为两部分: 1. **第一部分**:针对VBS脚本在64位系统中默认使用64位版本的WScript.exe导致的兼容性问题,提供了两步解决方法: - **第一步**:通过修改注册表(HKEY_CLASSES_ROOT/VBSFileShellOpen|Command),将默认运行的WScript.exe从“%SystemRoot%System32WScript.exe”改为“%SystemRoot%SysWow64WScript.exe”。 - **第二步**:调整VBS脚本的运行方式,可以通过右键属性中选择“打开方式”来实现。 2. **第二部分**:补充了在Windows 7 64位系统中,由于IIS不支持64位而导致的类似问题,并提供了通过重新注册DLL文件(如scrrun.dll)来解决的方法。 文章还提到,此问题的出现与系统位数(32位或64位)和相关DLL文件的兼容性有关,修改注册表或重新注册DLL是解决此类问题的有效途径。



vbs调用插件报:ActiveX部件不能创建对象,代码:800A01AD

报错如下图:

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD(activate a key)学到了

解决方法需要两步:

第一步改注册表:

HKEY_CLASSES_ROOT\VBSFile\Shell\Open|\Command

“%SystemRoot%\System32\WScript.exe” “%1” %* 改为

“%SystemRoot%\SysWow64\WScript.exe” “%1” %*

第二步变更打开方式:

右击VBS脚本选择属性—-更改

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD(activate a key)学到了

– – – – 点击浏览按钮

选中C:\Windows\SysWOW64\wscript.exe

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD(activate a key)学到了

重新运行脚本,脚本顺利执行。

第二步如果,VBS属性界面没有更改按钮的,可以右击VBS脚本,选择“打开方式”,效果是一样的。

下面说一下这个问题产生的原因(仅属个人推测):

VBS脚本出现这个问题的多半是64位的操做系统,VBS默认运行的是64位的WScript.exe。

上文中的两个步骤的操作其实都是将VBS的运行方式从默认的64位WScript.exe改为32位的。

System32代表的是64位核心文件

SysWow64代表的是兼容32位核心文件

System32和SysWow64究竟谁代表32位,谁代表64位请自行查阅相关资料。

总之出现这个问题,是32位版本和64位版本WScript.exe兼容性的问题,只要改成对应的版本,问题就可以得到解决。

补充一下

ActiveX 部件不能创建对象

/WebEdit/upfile_based_class.asp,行 53

重新开启ADODB.Stream组件的办法:

在开始—运行里执行:

regsvr32 “C:\Program Files\Common Files\System\ado\msado15.dll”

解决方法:在CMD 提示符下:

运行: regsvr32 scrrun.dll;这是由于 系统为了预防 VBS类病毒 而禁止了 SCRRUN.DLL 重新注册scrrun.dll 就可以啦

scrrun – scrrun.dll – DLL文件信息 DLL 文件: scrrun 或者 scrrun.dll DLL 名称: Microsoft Script Runtime 描述: scrrun.dll用于阅读和编写脚本和文本文件。 属于: Microsoft Script Runtime 系统 DLL文件: 是 常见错误: File Not Found, Missing File, Exception Errors

 activex部件不能创建对象 800a01ad 的一种解决方法

环境:win7 64位 IIS7

接手一个01年的asp老项目,想用json死活用不起,折腾了半天。网上的方法基本都试过了,都没用。

如果你试了网上所有方法都不行 你不妨试试这个

IIS-应用程序池-你部署的asp项目-右键-高级设置-启用32为应用程序-重跑-完成。

网上查了下,总之这玩意就是不支持64位。

或者重新注册dll文件

解决方案:

开始→运行→输入“cmd”回车,然后输入“for %1 in (%windir%\system32\*.dll) do regsvr32 /s %1”这条命令即可(双引号不用输入)。

请注意:

这是一条很危险的任务,请注意命令中间的分隔符是空格。

我就为了复现一下遇到的问题,加了一个下划线,结果电脑长时间不能响应用户操作,屏幕狂闪

产生了N多个cmd.exe的和regsvr32.exe的进程,可以通过以下命令删除进程。

taskkill /F /IM cmd.exe

taskkill /F /IM regsvr32.exe

好了这篇文章就介绍到这了,希望能帮助到你

© 版权声明

相关文章