gpt4 book ai didi

java - Java中的Spawn过程,类似于双击

转载 作者:行者123 更新时间:2023-12-01 04:21:40 25 4
gpt4 key购买 nike

我有一个 Java 应用程序,我想生成一个新进程(启动一个 .bat 文件),该进程本质上与双击它执行相同的操作。

我尝试了 Runtime.getRuntime().exec()ProcessBuilder 来生成该进程。这两种方法都有效(它们可以启动 .bat 文件),但我的问题是它们实际上并没有执行与双击它完全相同的操作。

更具体地说,此 .bat 文件启动一个 JVM (java.exe MyMainClass),该 JVM 配置为使用 Windows SxS(并排)运行。因此,我创建了适当的 java.exe.configjava.exe.manifest 文件。当我单击该按钮时,Java 应用程序将启动,并且成功加载相应的 .dll(因为我需要 SxS)。

我的问题是,当我通过使用 ProcessBuilderRuntime.getRuntime().exec( 启动完全相同的 .bat 文件(具有完全相同的参数和进程环境)时),它似乎没有考虑我的SxS配置,因此我需要的.dll根本没有加载,导致错误。

有谁知道如何启动这个 .bat 文件,就像我双击它时 Windows 启动它一样?另外,有人有 Java SxS 部署的经验吗?我真的无法理解为什么 ProcessBuilder 会忽略我的 SxS 配置。

提前致谢。

最佳答案

您可以尝试启动一个 cmd 窗口,它会加载您的应用程序 bat 文件:

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"C:\\path\\to\\the\\app.bat arg1 arg2\"");

关于java - Java中的Spawn过程,类似于双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com