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?
'.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