Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows中没有命令提示的情况下在QT中启动外部进程_Qt_Command Prompt - Fatal编程技术网

在Windows中没有命令提示的情况下在QT中启动外部进程

在Windows中没有命令提示的情况下在QT中启动外部进程,qt,command-prompt,Qt,Command Prompt,我正在尝试使用QProcess.startDetached()在Qt中启动一个外部进程。我能够成功地启动进程,但是当我这样做时,我看到一个丑陋的Windows命令提示符弹出。有什么方法可以防止这种情况发生吗?我也使用这种方法,没有这个问题。有些应用程序在启动时会创建命令提示符。可能不是Qt代码出了故障。您可以通过设置代码以启动不同的应用程序并检查它是否仍然创建命令提示符来验证这一点 QString program = "client.exe"; QStringList argumen

我正在尝试使用QProcess.startDetached()在Qt中启动一个外部进程。我能够成功地启动进程,但是当我这样做时,我看到一个丑陋的Windows命令提示符弹出。有什么方法可以防止这种情况发生吗?

我也使用这种方法,没有这个问题。有些应用程序在启动时会创建命令提示符。可能不是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 );

我尝试了你的过程,仍然看到一个命令提示符弹出。这是我的命令qprocessp;p、 StartDetailed(“ping”,QStringList()ping需要命令行来操作。如果使用notepad.exe,它应该在没有“dos框”的情况下启动。我认为我尝试启动的进程正在生成自己的命令提示符。是否有方法重定向输出?我尝试使用QProcess中提供的方法,但没有成功。抱歉,不知道任何方法。也许这会有所帮助: