java调用cmd打开64位程序
利用Runtime取得实例后,CMD命令+目录就OK了。
public static void main(String[] args) throws IOException {
Runtime.getRuntime().exec("cmd.exe /c "+ " start C:\\Users\\kzx\\Desktop\\委托交易.lnk ");
}
但是如果是除了Runtime,还利用Process,如下 代码片,就会报错:
Exception in thread “main” java.io.IOException: Cannot run program “C:\Users\TruthK\Desktop\委托交易.lnk”: CreateProcess error=193, %1 不是有效的 Win32 应用程序。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:450)
at java.lang.Runtime.exec(Runtime.java:347)
at One.test.main(test.java:18)Caused by: java.io.IOException: CreateProcess error=193, %1 不是有效的
Win32 应用程序。 at java.lang.ProcessImpl.create(Native Method) at
java.lang.ProcessImpl.(ProcessImpl.java:386) at
java.lang.ProcessImpl.start(ProcessImpl.java:137) at
java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) … 4 more
public static void main(String[] args) throws InterruptedException, IOException {
Runtime rt = Runtime.getRuntime();
Process ppp = rt.exec("C:\\Users\\kzx\\Desktop\\委托交易.lnk");
ppp.waitFor();
ppp.destroy();
}
本文探讨了使用Java通过Runtime类调用CMD执行64位程序的方法,对比了使用Runtime与Process的不同,解释了为何直接使用Process可能因程序架构不匹配而失败。
994

被折叠的 条评论
为什么被折叠?



