无法弄清楚如何注册dll以避免“无法从progid获取对象clsid”

时间:2015-11-25 16:49:19

标签: java autoit jacob

我正在尝试使用autoit和java,并已将AHK和jacob桥安装到autoitx4java.AutoItx。我有jacob dll(jacob-1.18-86x.dll)存储在windows / syswow64中。当我尝试编译程序时(导入为import java.text.SimpleDateFormat; import java.util.Date; import autoitx4java.AutoItX;),我收到错误

Exception in thread "main" com.jacob.com.ComFailException: Can't get object clsid from progid
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at autoitx4java.AutoItX.<init>(AutoItX.java:181)
at MainTest.login(MainTest.java:126)
at MainTest.setadmin(MainTest.java:181)
at MainTest.runbasic(MainTest.java:21)
at MainTest.main(MainTest.java:15)

搜索之后,我认为可能是dll没有注册,例如在How to create an object using JACOB,但是没有用。从那里输入注册命令后,我得到一个“RegAsm:错误RA0000:无法加载'c:\ windows \ syswow64 \ jacob-1.18-x86.dll',因为它不是虚拟.NET程序集。还试过”regsvr32 jacob-1.18-x86.dll“从另一种方式注册上面的答案之外,但这让我有一个”模块“jacob-1.18-x86.dll”已加载,但没有找到入口点DllRegisterServer。确保“jacob-1.18-x86.dll”是有效的DLL或OCX文件,然后重试。有什么想法吗?

编辑:有人建议这是针对AutoIt而不是autohotkey。这在问题和标签中得到纠正。谢谢,

2 个答案:

答案 0 :(得分:2)

仅注册AutoITX3 DLL,问题已解决。 对于Win32:AutoItX3.dll和Win64:AutoItX3_x64.dll

使用命令注册: regsvr32 AbsolutePathOfRequiredDLLFile

答案 1 :(得分:0)

刚刚再次安装了autoit-v3-setup.exe并且运行正常。