gpt4 book ai didi

inno-setup - 调用 java 时从 exec 返回“不正确的函数”

转载 作者:行者123 更新时间:2023-12-02 00:11:57 26 4
gpt4 key购买 nike

我正在调用cmd执行java,但是resultcode一直是1,检查后发现它代表'不正确的函数'。我的代码是这样的:

Exec('cmd', '/c C:\Program Files\jre\bin\java -version','' , SW_HIDE,   ewWaitUntilTerminated, ResultCode);

我也调用了,下面的代码,也不行:

 Exec('cmd', '/c "C:\Program Files\jre\bin\java -version"','' , SW_HIDE,  ewWaitUntilTerminated, ResultCode);

如果我调用下面的代码,它会起作用

 Exec('cmd', '/c java -version','' , SW_HIDE, ewWaitUntilTerminated, ResultCode);

java路径中的空格好像无法识别。有谁知道如何纠正它?

最佳答案

您的第一次尝试失败,因为文件路径中有一个空格,没有用双引号引起来。您的第二次尝试失败,因为除了文件路径外,您还用双引号括起了传递的参数 -version。而且,在这两种情况下,您在应用程序路径末尾都缺少 .exe

你可以这样试试:

Exec('cmd', '/c ""C:\Program Files\jre\bin\java.exe" -version"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

但是,我在这里缺少通过 cmd shell 执行它的原因。我想您可以通过这种方式调用 java.exe 来直接执行此操作:

Exec('C:\Program Files\jre\bin\java.exe', '-version', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);

只是一个题外话,你确定 java.exe 总是在 C:\Program Files\jre\bin\ 中吗?

关于inno-setup - 调用 java 时从 exec 返回“不正确的函数”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700880/

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