gpt4 book ai didi

qt - QProcess:exitCode() 似乎没有返回 %errorlevel%

转载 作者:行者123 更新时间:2023-12-04 06:27:30 25 4
gpt4 key购买 nike

我试图从作为 QProcess 运行的 Windows 命令行应用程序中捕获特定的错误代码。

我今天有一个错误,应用程序失败:
在命令行上运行时: echo %errorleve% 返回 14001 (ERROR_SXS_CANT_GEN_ACTCTX),这是正确的错误。

在我的 Qt 应用程序中,当我在调用此应用程序的 QProcess 上调用 exitCode() 时,我得到 0 作为返回值。

有没有办法获得这个过程的正确错误级别?我希望我错过了一些简单的东西。

前任:

proc_->start(bridge_config_.exePath(), args);
if (proc_->state() == QProcess::NotRunning){
handleProcessFailedToStart(proc_->exitCode());
}

最佳答案

QProcess::start 不会阻塞,直到进程开始甚至终止。因此,当您立即调用 exitCode() 时,它将无效,因为该过程甚至还没有开始。
您可以连接到finished() 和error() 信号(非阻塞替代方法,在UI 应用程序中推荐)以获取退出代码,或调用waitForStarted() 和/或waitForFinished()(块,在辅助非阻塞中有用) UI 线程或 CLI 程序中),然后 exitCode()。

关于qt - QProcess:exitCode() 似乎没有返回 %errorlevel%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861031/

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