【问题标题】:How to execute a program from Java如何从 Java 执行程序
【发布时间】:2021-11-06 14:21:57
【问题描述】:

我想弄清楚如何从我的 Java 程序中执行我的 AutoHotKey 脚本。问题是我不确定实际执行此操作的最佳方法,因为当我执行此操作时会出现错误...

Runtime runtime = Runtime.getRuntime();

    try {
        Thread.sleep(100);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    try {
        String actualPath = "C:\\Users\\me\\Desktop\\Coding\\test.ahk";
        String autoHotKeyScript = "C:\\Program Files\\AutoHotkey";
        runtime.exec(new String[] {autoHotKey, actualPath});
    } catch (IOException e) {
        e.printStackTrace();
    }

出现错误:

无法运行程序“C:\Program Files\AutoHotkey”:CreateProcess 错误=5,访问被拒绝

【问题讨论】:

  • 首先从命令行弄清楚你将如何做这样的事情
  • 好的,一些快速的谷歌搜索,你需要做一些类似path_to/AutoHotKey.exe test.ahk的事情,但我会使用ProcessBuilder而不是Runtime.exec进行调查,它会给你更多的控制和选择
  • Gokul Nath KP 并不能帮助我知道它只是告诉我我遇到了一个并不新鲜的问题。
  • @UnSure 另外,AutoHotKey.exe 的确切路径是什么,包括AutoHotKey.exe。我想它应该类似于C:/Program Files/AutoHotkey/AutoHotkey.exe

标签: java autohotkey executable ioexception


【解决方案1】:
    Runtime runtime = Runtime.getRuntime();

    try {
        Thread.sleep(100);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    try {
        runtime.exec("C:\\Program Files\\AutoHotkey.exe C:\\Users\\me\\Desktop\\Coding\\test.ahk");
    } catch (IOException e) {
        e.printStackTrace();
    }

在你的 ahk 脚本之前添加AutoHotkeyU64.exe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    相关资源
    最近更新 更多