【发布时间】:2013-04-11 03:03:22
【问题描述】:
我正在尝试在 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 path\to\shortcut.lnk”