2016-05-10 16 views
0

このチュートリアルの後ろには、http://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-functionality/ Windowsのブラウザ以外のアプリケーションを自動化しています。スレッド "main"の例外com.jacob.com.ComFailException:オブジェクトを共同作成できません

import java.io.File; 
import autoitx4java.AutoItX; 
import com.jacob.com.LibraryLoader; 

import java.lang.System; 

public class CalcTest { 

    /** 
    * 
    * Returns if the JVM is 32 or 64 bit version 
    */ 
    public static String jvmBitVersion(){ 
     return System.getProperty("sun.arch.data.model"); 
    } 

    public static void main(String[] args) throws InterruptedException { 

     String jacobDllVersionToUse; 
     if (jvmBitVersion().contains("32")){ 
      jacobDllVersionToUse = "jacob-1.18-x86.dll"; 
     } 
     else { 
      jacobDllVersionToUse = "jacob-1.18-x64.dll"; 
     } 

     File file = new File("lib", jacobDllVersionToUse); 
     System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath()); 

     AutoItX x = new AutoItX(); 
     x.run("calc.exe"); 
     x.winActivate("Calculator"); 
     x.winWaitActive("Calculator"); 
     //Enter 3 
     x.controlClick("Calculator", "", "133") ; 
     Thread.sleep(1000); 
     //Enter + 
     x.controlClick("Calculator", "", "93") ; 
     Thread.sleep(1000); 
     //Enter 3 
     x.controlClick("Calculator", "", "133") ; 
     Thread.sleep(1000); 
     //Enter = 
     x.controlClick("Calculator", "", "121") ; 
    } 

} 

私は次のエラーを取得する:

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:99) 
    at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58) 
    at autoitx4java.AutoItX.<init>(AutoItX.java:181) 
    at CalcTest.main(CalcTest.java:30) 

チュートリアルでは、私はCMDでregsvr32 C:\install\AutoItX\AutoItX3_x64.dllを実行する必要があることを言いますが、私は次のエラーを取得しておいてください。

The module "C:\install\AutoItX\AutoItX3_x64.dll" was loaded but the call to DllRegisterServer failed with error code 0x80070005 

私はわからないんだけどこれをどうするか。

答えて

0

私は管理者としてcmdを実行する必要がありました。これを残すこともできる。私はCMDの管理者のログインとして実行...

-1

誰かが一日同じ船に乗って自分自身を見つけるかもしれないと確信していると、あなたは64ビットOSを使用しているので、パスCでそれを実行します:\ WINDOWS \ SYSWOW64は

と32ビットのパスで実行する場合は、C:¥Windows¥System32

- スワップナムハート

関連する問題