64位windows下不能调用32bit dll

Posted

技术标签:

【中文标题】64位windows下不能调用32bit dll【英文标题】:Can't call 32bit dll under 64bit windows 【发布时间】:2011-01-12 08:49:28 【问题描述】:

我尝试从我的 JS 脚本中创建一个 COM 对象,如下所示:

function main() 

var MyApplication = new ActiveXObject("Base.Application");


main();

我收到错误消息:“自动化服务器无法创建对象”。此错误发生在 Windows 2003 64 位上。该 dll 是 32 位的,在 32 位系统上运行良好。

我在 64 位系统上尝试了 两个 版本的 Regsvr32.exe,两个版本都告诉我 dll 注册成功。

不幸的是,错误消息没有告诉我为什么它不能创建对象。原因未知,可能是因为它还没有注册而无法创建对象,也可能是完全不同的东西......

我还为这个 dll 添加了完整的权限。

我不知道我还能做什么,你有什么想法吗?

修改后

好的,我知道这个DLL是在系统下注册的(在注册表中找到的),为什么我不能从中调用任何COB对象呢?

【问题讨论】:

【参考方案1】:

可能是因为您的进程是 64 位,而您尝试调用 32 位 dll? (不过有一些技巧,在这种情况下就像here 描述的那样)。

【讨论】:

以上是关于64位windows下不能调用32bit dll的主要内容,如果未能解决你的问题,请参考以下文章

第二章习题答案

针对Windows 64位系统中Matlab没有LED Control Activex控件的解决方法

python入门-windows下anaconda环境搭建

32-bit系统与64-bit系统的区别

在 64 位(或 32 位)Windows 上以 32 位进程访问 >2、3、4GB 文件

有没有办法让 Windows 64 位上的应用程序在 64 位和 32 位仿真层下执行代码?