Невозможно запустить внешнюю программу из Eclipse Neon

Я знаю, что таких вопросов много, но они не очень помогли.

Я пытаюсь создать программу, которая печатает документы (конкретный документ), поэтому я хочу "запустить" папку, в которой она находится, щелкнуть документ и нажать CTRL+P. Поэтому я попытался просто с помощью Runtime:

Process p = Runtime.getRuntime().exec("C:/Users/Rasmus/Desktop/Notepad.lnk");

и я получил ошибку:

java.io.IOException: не удается запустить программу "C:\Users\iNsaniTy\Desktop\Notepad.lnk": ошибка CreateProcess =193, %1 не является допустимым приложением Win32

А потом ProcessBuilder (никогда не использовал его раньше, не знаю что это)

new ProcessBuilder("C:/Users/Rasmus/Desktop/Notepad.lnk").start();

И я получил ту же ошибку. Я использовал Runtime Метод до и он работал. Я не знаю, имеет ли это значение, но с тех пор я скачал последнюю версию Eclipse (Eclipse Neon). Есть ли у доброй души какие-то решения?

1 ответ

Решение

@J Doe, .lnk - это краткая ссылка на сам исполняемый файл. Ваше исключение ясно упоминает об этом.

Разрешение будет указывать путь к исполняемому файлу. Как вы можете проверить путь к исполняемому файлу.

Right CLick on .lnk > Open Properties > Path in the Target will be the actual path of the executable.

Найдите путь цели и используйте его в своем коде для ProcessBuilder или RUntime exec.

Другие вопросы по тегам