У меня есть эта программа на С#, которую я сделал, и хотя я могу нормально ее запускать, щелкнув файл exe или нажав на пакетный файл, я не могу запустить программу в java-программе, которую я сделал для ее запуска. Я пробовал эту строку кода и не мог запустить программное обеспечение.
Runtime.getRuntime().exec("nameOfTheExeFile");
или установите его в пакетный файл i, который запускает программу.
Runtime.getRuntime().exec("nameOfTheBatchFile");
Теперь интересно, когда я пытаюсь использовать пакетный файл, я получаю сообщение о том, что файл не может быть найден, но когда я дважды щелкнув командный файл, он начнет работу с exe файлом.
Я даже пытался использовать Process, но мне тоже не удастся с этим процессом
List cmdAndArgs = Arrays.asList(new String[]{"cmd.exe", "/c", "ProgramName.exe"});
ProcessBuilder pb = new ProcessBuilder(cmdAndArgs);
Process p = pb.start();
Странная вещь, я вообще не получаю никакой ошибки. Даже когда я пытаюсь выполнить тестирование, я вообще не ошибаюсь. Есть ли процесс, который я пропускаю или что-то еще? Я теряюсь, что делать.
Обновить:
Когда я проверяю диспетчер задач, я вижу, что программа работает, но не версия exe. Я вижу ProgramName.vshost.exe, есть ли причина для этого, а не exe файл?
Поскольку ваша программа - это программа командной строки, вам нужно запустить ее из cmd. Я не уверен, что это лучший способ сделать это, но он работает.
Runtime.getRuntime().exec("cmd /c start nameOfTheBatchFile");
Пакетный файл:
start cmd.exe /k "nameOfExeFile"
exit