查看完整版本: [-- Qt获取CPU编号和硬盘序列号 --]

QTCN开发网 -> Qt代码秀 -> Qt获取CPU编号和硬盘序列号 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

liudianwu 2019-02-27 13:18

Qt获取CPU编号和硬盘序列号

windows下执行命令除了用cmd之外,还有个东西叫WMIC,非常强大,可以通过他获取很多信息,包括硬件信息。
  1. QString frmMain::getWMIC(const QString &cmd)
    {
        //获取cpu名称:wmic cpu get Name
        //获取cpu核心数:wmic cpu get NumberOfCores
        //获取cpu线程数:wmic cpu get NumberOfLogicalProcessors
        //查询cpu序列号:wmic cpu get processorid
        //查询主板序列号:wmic baseboard get serialnumber
        //查询BIOS序列号:wmic bios get serialnumber
        //查看硬盘:wmic diskdrive get serialnumber
        QProcess p;
        p.start(cmd);
        p.waitForFinished();
        QString result = QString::fromLocal8Bit(p.readAllStandardOutput());
        QStringList list = cmd.split(" ");
        result = result.remove(list.last(), Qt::CaseInsensitive);
        result = result.replace("\r", "");
        result = result.replace("\n", "");
        result = result.simplified();
        return result;
    }

    QString frmMain::getCpuName()
    {
        return getWMIC("wmic cpu get name");
    }

    QString frmMain::getCpuId()
    {
        return getWMIC("wmic cpu get processorid");
    }

    QString frmMain::getDiskNum()
    {
        return getWMIC("wmic diskdrive where index=0 get serialnumber");
    }



song.lf 2019-02-27 13:55

liuchangyin 2019-02-27 17:40
    

crazy 2019-02-27 22:23

hanheyfon 2019-02-28 09:12
      

redfoxcn 2019-03-01 14:18
WMIC就是WMI的命令行工具,而WMI就是Windows管理规范(Windows Management Instrumentation),WMIC就是把WQL的命令得到了简化。了解更多WMI和WQL可以获得更详尽的Windows系统信息。

zhangcan 2019-08-07 16:08

zackjary 2020-05-21 22:00

larkin_xu 2020-06-20 22:49
    

beiyala 2020-06-24 17:08
厉害

zipl1985 2022-07-23 12:25
不错,学习了

zhanglyl 2022-08-02 09:07
wmic是懒人工具。但是,一些固态盘的硬盘号,wmic获取不准确,不如windows api获取的准确和稳定。


查看完整版本: [-- Qt获取CPU编号和硬盘序列号 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled