2013-04-11 34 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 path \ to \ shortcut.lnk」 – Wug 2013-04-11 03:16:13

回答

1

您可以使用java.awt.Desktop; Desktop.getDesktop()。open(new File(「*。lnk」));