首页 新闻 会员 周边 捐助

Qt利用WMIC读取CPU序列号内容为空

0
悬赏园豆:5 [待解决问题]

Qt6.5,大佬帮忙看看是哪里有问题:

QString Widget::getCpuProcessorId()
{
    QString cpuInfo;
#ifdef Q_OS_WIN
    QProcess process;
    process.start("wmic", QStringList() << "cpu" << "get" << "name");
    process.waitForFinished(); // 等待命令执行完毕
    cpuInfo = process.readAllStandardOutput();
#elif defined(Q_OS_LINUX)
    QFile file("/proc/cpuinfo");
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        while (!file.atEnd()) {
            QString line = file.readLine();
            if (line.startsWith("model name")) {
                cpuInfo = line;
                break;
            }
        }
        file.close();
    }
#endif
    return cpuInfo;
    // return getWMIC("wmic cpu get processorid");
}

我在cmd中实验是有输出的:

程序一直获取不到:

PixelKiwi的主页 PixelKiwi | 菜鸟二级 | 园豆:262
提问于:2024-10-22 15:03
< >
分享
所有回答(1)
0

我用你的代码是可以读到的.你可以把stdout和stderror都输出看看.或者下个断点看看cpuInfo是不是空.
cpuInfo = process.readAllStandardOutput();
cpuInfo += process.readAllStandardError();

www378660084 | 园豆:1033 (小虾三级) | 2024-10-22 15:23

嗯,不知道为什么,我在我笔记本上试也是正常输出的,诶,不用它了

支持(0) 反对(0) PixelKiwi | 园豆:262 (菜鸟二级) | 2024-10-22 15:58

Output和Error都是空的😅

支持(0) 反对(0) PixelKiwi | 园豆:262 (菜鸟二级) | 2024-10-22 16:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册