Я пытаюсь открыть программу со своего рабочего стола в java. Некоторые свойства значков на рабочем столе имеют расширение *.exe, но ярлыки других программ имеют расширение *.lnk. Так как это откроет программу с param
расположением *.exe:
try {
p = Runtime.getRuntime().exec(params);
int result = p.waitFor();
if (result != 0) {
System.out.println("Process failed with status: " + result);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
это не работает для любого другого ярлыка с другим расширением.
Есть ли способ настроить правильное приложение, на которое указывает ярлык, и открыть его?
.lnk
не является исполняемым форматом. Я точно не знаю, какое волшебство нужно для их открытия, но вы сможете заставить его работать, если вы запустите cmd -c path\to\MyShortcut.lnk и позволите командной строке выяснить, как он должен запускаться. Вы также можете поэкспериментировать с чем-то вроде пути к explorer.exe\to\shortcut.lnk. - person Wug   schedule 11.04.2013