使用参数行Java打开快捷方式(.lnk)

时间:2013-11-10 22:14:19

标签: java parameter-passing lnk

我想用参数行开始一个快捷方式如何使用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();

由于

2 个答案:

答案 0 :(得分:4)

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

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "C:\\path\\shortcut.lnk", "-n", "100"); Process process = pb.start();

答案 1 :(得分:0)

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

请参阅:Windows shortcut (.lnk) parser in Java?