2013-04-11 4 views
0

J'essaie d'ouvrir un programme à partir de mon bureau dans java. Certaines de mes propriétés d'icône de bureau ont une extension * .exe, mais d'autres raccourcis de programme ont une extension * .lnk. Comme cela ouvrira un programme param étant l'emplacement d'un * .exe:Exécution d'un programme externe à partir du raccourci

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(); 
    } 

cela ne fonctionne pas pour tout autre raccourci avec une extension différente.

Y a-t-il un moyen de cibler l'application appropriée vers laquelle le raccourci pointe et de l'ouvrir?

+0

'.lnk' n'est pas un format exécutable. Je ne sais pas exactement ce que la magie va faire pour les ouvrir, mais vous devriez pouvoir le faire fonctionner si vous lancez "cmd -c path \ to \ MyShortcut.lnk" et laissez l'invite de commande découvrir comment elle doit être lancée . Vous pouvez également expérimenter avec quelque chose comme "explorer.exe path \ to \ shortcut.lnk" – Wug

Répondre

1

Vous pouvez utiliser java.awt.Desktop; Desktop.getDesktop(). Open (nouveau fichier ("*. Lnk"));

Questions connexes