Java与AutoIt和Jacob库
我正在尝试使用Eclipse将AutoIt与Java集成。我已经正确配置了项目和java构建路径(可能;)。问题是,当我尝试运行我收到的项目时,错误如下所示: 线程“main”com.jacob.com.ComFailException中出现异常:无法共同创建对象 位于com.jacob.com.Dispatch.createInstancential(本机方法) 在com.jacob.com.Dispatch.(Dispatch.java:99) 位于com.jacob.activeX.ActiveXComponent(ActiveXComponent.java:58) 在autoitx4java.AutoItX(AutoItX.java:181) 位于com.mainPackage.windowsGUIHandler.bleble(windowsGUIHandler.java:23) 位于com.mainPackage.windowsGUIHandler.main(windowsGUIHandler.java:39) 我在代码中的代码看起来是这样的(非常简单,但足以运行和测试AutoIT是否工作) 我做了一项研究,发现当eclipse返回时,当我键入cmd时,如果不能共同创建对象,该怎么办 regasm/verbose/nologo/codebase C:\jacob-1.17-M2-x64.dll 执行此命令后,我收到一个错误:RegAsm:error RA0000:未能加载“C:\jacob-1.17-M2-x64.dll”,因为它不是有效的.NET程序集 此外,我在安装了JRE和JDK 6 x64的Windows 7 x64上运行。您使用的是 32位处理器计算机中的Windows 7 32位 或64位计算机中的64位Windows 7 我试着在我的Windows7中注册jacob-1.17-M2-x86.dll,32位在一台32位处理器的机器上 regsvr32,它成功地工作了 但在我的另一台机器上 64位处理器计算机中的64位Windows 7 jacob-1.17-M2-x86.dll或jacob-1.17-M2-x64.dll均未成功注册 我必须使用最新安装的AutoIT下载的AutoItX3.dll 检查您的配置并尝试正确的文件,然后查看Java与AutoIt和Jacob库,java,eclipse,autoit,jacob,Java,Eclipse,Autoit,Jacob,我正在尝试使用Eclipse将AutoIt与Java集成。我已经正确配置了项目和java构建路径(可能;)。问题是,当我尝试运行我收到的项目时,错误如下所示: 线程“main”com.jacob.com.ComFailException中出现异常:无法共同创建对象 位于com.jacob.com.Dispatch.createInstancential(本机方法) 在com.jacob.com.Dispatch.(Dispatch.java:99) 位于com.jacob.activeX.Act
package com.mainPackage;
import java.io.File;
import com.jacob.com.LibraryLoader;
import junit.framework.Assert;
import autoitx4java.AutoItX;
public class windowsGUIHandler {
public static void thisIsTestFunction() {
File file = new File("lib", "jacob-1.17-M2-x64.dll");
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
LibraryLoader.loadJacobLibrary();
AutoItX x = new AutoItX();
String notepad = "Untitled - Notepad";
String testString = "this is a test.";
x.run("notepad.exe");
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));
}
public static void main(String[] args) {
thisIsTestFunction();
}
}