2

Java からのパラメーターを使用してスクリプトを実行する方法はありますか? 実行可能ファイルではなく、AutoHotKey スクリプトです。

これを試しましたが、有効な実行ファイルではないため、機能しません。

制御クラス:

package org.bsep.acp;

import java.io.IOException;

/**
 * This class allow you to send string to your
 * computer as keystrokes.
 * 
 * escape car is '
 * special char are {space}, {Enter}, {F1}, {F2}, etc
 * 
 * @author Eildosa
 */
public class StringSender {

    Runtime runtime;
    private final static String AHK_BRIDGE = "C:\\perso\\WorkspaceScripts\\skyrimTools\\src\\org\\bsep\\acp\\ahkBridge.ahk";

    public StringSender() {
        runtime = Runtime.getRuntime();
    }

    public void sendString(String data) throws IOException, InterruptedException {
        runtime.exec(new String[] { AHK_BRIDGE, data} );
        Thread.currentThread();
        Thread.sleep(1000);
    }

}

テスト :

Runtime runtime = Runtime.getRuntime();
runtime.exec(NOTEPAD);
Thread.currentThread();
Thread.sleep(4000);
StringSender stringSender = new StringSender();
stringSender.sendString("Writing from java through AHK.");

例外 :

Exception in thread "main" java.io.IOException: Cannot run program "C:\perso\WorkspaceScripts\skyrimTools\src\org\bsep\acp\ahkBridge.ahk": CreateProcess error=193, %1 n?est pas une application Win32 valid
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
    at java.lang.Runtime.exec(Runtime.java:617)
    at java.lang.Runtime.exec(Runtime.java:485)
    at org.bsep.acp.StringSender.sendString(StringSender.java:25)
    at org.bsep.acp.VariousTests.ahkBridgeTester(VariousTests.java:23)
    at org.bsep.acp.VariousTests.main(VariousTests.java:13)
Caused by: java.io.IOException: CreateProcess error=193, %1 n?est pas une application Win32 valid
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:376)
    at java.lang.ProcessImpl.start(ProcessImpl.java:136)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
    ... 5 more

翻訳: これは有効な win32 アプリケーションではありません。

ありがとう。

4

2 に答える 2

0

別の仲介者、つまり、ahk を起動するバット スクリプトを含めることができます。これはexecを介して起動できます。これはバットの起動に関する投稿です

Java アプリケーションからバッチ ファイルを実行するにはどうすればよいですか?

最初に、スクリプトを渡す ahk のコマンド ライン呼び出しを試しますが、うまくいくかどうかはわかりませんが、試してみる価値はあります

于 2013-09-14T21:33:38.330 に答える