2013-04-11 4 views
0

Я пытаюсь открыть программу с моего рабочего стола в 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(); 
    } 

это не работает для любого другого ярлыка с другим расширением.

Есть ли способ, которым я могу настроить целевое приложение, на которое указывает ярлык, и открыть его?

+0

'.lnk' не является исполняемым. Я не уверен, в чем заключается магия, открывая их, но вы можете заставить ее работать, если вы запустите «cmd -c path \ to \ MyShortcut.lnk» и дайте командной строке выяснить, как она должна запускаться , Вы также можете поэкспериментировать с чем-то вроде «путь explorer.exe \ to \ shortcut.lnk» – Wug

ответ

1

Вы можете использовать java.awt.Desktop; Desktop.getDesktop(). Open (новый файл ("*. Lnk"));

Смежные вопросы