這是我的完整代碼:
#include <QCoreApplication>
#include "iostream"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess process;
QString path = "C:\\Windows\\System32\\wbem\\WMIC.exe";
QString arg = "cpu get name";
QStringList arguments; arguments << arg;
//process.start(path,arguments);
process.start(path " " arg);
//qDebug() << "Started";
std::cout << "Started" << std::endl;
if (!process.waitForFinished()){
qDebug() << "ERROR" << process.errorString();
}
else {
qDebug() << "Printing output";
qDebug().noquote() << process.readAllStandardOutput();
}
qDebug() << "Finished";
return 0;
//return a.exec();
}
我正在嘗試從 Windows 機器上獲取一些硬體規格(比如 GPU 卡的型號,或者在這種情況下是 CPU)。我讀過帶有正確引數的 wmic 命令可以得到這個。但是經過幾次嘗試后,我只剩下這兩個不作業的選項:
如果引數用“cpu get name”填充,我會得到一個空字串。
如果不提供引數,我會在標題中得到錯誤。我認為這意味著 QProcess 類找不到指定的檔案。我不知道這怎么可能,因為字面上添加了整個路徑。
任何幫助,將不勝感激。
另外我讀到這可能是由于編譯器的原因,以防我使用 MSVC2019 編譯 64 位應用程式。
uj5u.com熱心網友回復:
使用QStringList arguments = arg.split(" ");然后process.start(path,arguments);。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/480668.html
標籤:qt
