我尝试使用QProcess.startDetached()在Qt中启动外部进程。我能够成功启动该过程,但是当我这样做时,我看到一个丑陋的Windows命令提示符弹出。有什么办法可以防止这种情况发生吗?
答案 0 :(得分:1)
我也使用那种方法,没有那个问题。有些应用程序在启动时会创建命令提示符。可能不是Qt代码有问题。您可以通过设置代码来启动另一个应用程序并检查它是否仍然创建命令提示符来验证它。
QString program = "client.exe";
QStringList arguments;
ClientProcess = new QProcess( this );
// exit calling application on called application start
connect( ClientProcess, SIGNAL( started() ), this, SLOT( Exit() ) );
// receive errors
connect( ClientProcess, SIGNAL( error( QProcess::ProcessError ) ), this, SLOT( error( QProcess::ProcessError ) ) );
ClientProcess->startDetached( program, arguments );