簡體   English   中英

在Qt應用程序中運行Windows命令提示符命令

[英]Running windows command prompt commands in a Qt application

我需要通過Qt應用程序運行一個外部exe,這需要在Windows命令提示符下輸入命令。

  QString exePath = "C:\Windows\system32\cmd.exe";
  QProcess pro;
  pro.start(exePath);
  pro.execute("cmd.exe");

但是我得到的輸出如下普通的cmd提示符

但是我想要像預期的cmd一樣的Windows命令提示符

您需要從QProcess標准輸出中讀取並在屏幕上打印。 您可以使用pro.waitForReadyRead() ,如果它返回true,請執行

QByteArray arr = pro.readAllStandardOutput();
QString str(arr);
qDebug() << str;

更好的決定是使用信號插槽機制並實現onReadyToRead()插槽並將QProcess readyReadStandardOutput()信號連接到該插槽。

pro.start(exePath);
pro.execute("cmd.exe");

您不應該同時使用這兩種方法,QProcess :: execute是靜態成員。

您需要啟動分離的進程:

QString exePath = "C:\Windows\system32\cmd.exe";
QProcess pro;
pro.startDetached(exePath);
pro.waitForStarted();
//Event Loop here

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM