Я запускаю программу при помощи командной строки следующим образом:
Desktop\p.exe -Arg1
Как написать код запуска программы таким образом на Java? Я пробовал такие методы:
Runtime.getRuntime().exec("\"C:\\Users\\Admin\\Desktop\\p.exe\" –Arg1");
и
new ProcessBuilder("C:\\Users\\Admin\\Desktop\\p.exe", "–Arg1").start();
программа не получает аргумент "-Arg1". Она его получает, только если я вручную в командной строке запускаю программу.
Вы уверены, что программа вообще запускается? Попробуйте использовать абсолютный путь до неё.
Этот код должен работать:
ProcessBuilder builder = new ProcessBuilder("C:\\...\Desktop\p.exe", "-Arg1");
Process process = builder.start();
Путь поправьте для себя на верный (не помню, в какую сторону и сколько слешей используется в путях на Windows).
Ещё вариант:
Runtime.getRuntime().exec(new String[]{"C:\\Users\\Admin\\Desktop\\p.exe", "-Arg1"});
Сборка персонального компьютера от Artline: умный выбор для современных пользователей