gpt4 book ai didi

java - 无法在 com.jacob.com.Dispatch.createInstanceNative( native 方法)共同创建对象

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:02 27 4
gpt4 key购买 nike

我正在尝试将 autoit 与 Java 一起使用,因此我将 jacob jar 和 autoitX4 添加到我的项目中。但是我收到了此错误:

'Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:101)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at autoitx4java.AutoItX.<init>(AutoItX.java:231)
at net.java.dev.jna.step2_2.Test.main(Test.java:14)'

这是我当前的代码:

import java.io.File;
import com.jacob.com.LibraryLoader;
import autoitx4java.AutoItX;
import junit.framework.Assert;
public class Test {
public static void main(String[] args) {
File file = new File("./src/test/ressources//jacob-1.17-M2-x64.dll"); // path
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
AutoItX x = new AutoItX();
String notepad = "Untitled - Notepad";
String testString = "this is a test.";
x.run("notepad", "C:/Windows/System32", AutoItX.SW_MAXIMIZE);
x.winActivate(notepad);
x.winWaitActive(notepad);
x.send(testString);
Assert.assertTrue(x.winExists(notepad, testString));
x.winClose(notepad, testString);
x.winWaitActive("Notepad");
x.send("{ALT}n");
Assert.assertFalse(x.winExists(notepad, testString));
}
}

有人可以帮我吗,我无法修复这个错误

最佳答案

最近我也遇到了同样的问题,并通过以下解决方案解决了这个问题。
步骤1。下载并重新安装最新版本的 64 位 Autoit。即使用下面链接中的“AutoIt 完整安装”版本。

    https://www.autoitscript.com/site/autoit/downloads/

第二步。从以下链接下载最新版本的 Jacob:

    https://sourceforge.net/projects/jacob-project/

第三步。将“.jar”和“.dll”文件放置如下:

    C:\Program Files\Java\jdk1.8.0_191\bin\Jacob.jar
C:\Program Files\Java\jdk1.8.0_191\bin\Jacob-1.19-X64.dll

D:\Eclipse Workspace\ProjectFolder\lib\AutoitX4Java.jar
D:\Eclipse Workspace\ProjectFolder\lib\Jacob.jar
D:\Eclipse Workspace\ProjectFolder\lib\Jacob-1.19-X64.dll

D:\Eclipse Workspace\ProjectFolder\lib\Tools\AutoitX3.dll

第四步。 通过命令提示符注册AutoItX3.dll(以管理员身份打开cmd提示符)

c:\Windows\system32> regsvr32 "D:\Eclipse Workspace\ProjectFolder\lib\tools\AutoItX3.dll"

就是这样!

根据我的设置,代码中 jacob dll 的路径是

File file = new File("lib", jacob-1.18-x64.dll);

希望这有帮助。

关于java - 无法在 com.jacob.com.Dispatch.createInstanceNative( native 方法)共同创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48869385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com