0

我想用参数行开始一个快捷方式我怎么能用Java中的参数执行这个快捷方式?(由于这不适用于 ProcessBuilder 我再次陷入困境......)

"C:/Program Files/MyPrograms/MyShortcut.lnk" -s 3 -n 100(这些参数行现在是什么意思)

我成功地启动了我的快捷方式,没有参数。

代码:

String directoryFile = "C:/Program Files/MyPrograms/MyShortcut.lnk"

Desktop.getDesktop().open(new File(directoryFile));

我想要的是:

String directoryFile = "C:/Program Files/MyPrograms/MyShortcut.lnk"

Desktop.getDesktop().open(new File(directoryFile)+"-s 3 -n 100");

这确实有效,但仅适用于 .exe 文件;我需要用参数打开一个 .lnk(win 快捷方式)

Process p = new ProcessBuilder("C:/Program Files/MyPrograms/MyFile.exe",
                                          "-n", "100")
                                      .start();

谢谢

4

2 回答 2

4

如果有人正在寻找同样的东西,这就像一个魅力!(感谢“Glenn Lane”链接我)

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "C:\\path\\shortcut.lnk", "-n", "100"); Process process = pb.start();
于 2013-11-10T22:39:02.280 回答
0

我认为您需要解码 LNK 以获得实际的 EXE 路径/文件。

请参阅:Java 中的 Windows 快捷方式 (.lnk) 解析器?

于 2013-11-10T22:30:01.160 回答