Qt使用wmic獲取硬件序列號

一、

1.命令框輸入wmic

 

二、

#include "hardware_info.h"
#include <QProcess>
#include <QDebug>
hardware_info::hardware_info()
{

}

QString hardware_info::get_cpu_id()
{
    QStringList arg;
    arg << "cpu" << "get"<<"ProcessorID";
    QString result = run_process(arg);
    result = result.remove("PROCESSORID").trimmed();
    return result;
}

QString hardware_info::get_harddisk_id()
{
    QStringList arg;
    //arg << "diskdrive" << "where"<<"index=0"<<"get"<<"serialnumbe";//獲取第一個磁盤序列號

//    arg << "diskdrive" << "where"
//            << "deviceid='\\\\\\\\.\\\\PHYSICALDRIVE0'"
//            << "get" << "serialnumber,model,size";

    arg << "diskdrive" << "where"
            << "deviceid='\\\\\\\\.\\\\PHYSICALDRIVE0'"
            << "get" << "serialnumber";

    QString result = run_process(arg);
    //qDebug()<<result;
    result = result.remove("SERIALNUMBER").trimmed();
    result = result.remove(".");
    return result;

}

QString hardware_info::run_process(QStringList arg)
{
    QProcess p;
    p.setReadChannel(QProcess::StandardOutput);
    p.setProcessChannelMode(QProcess::MergedChannels);
    p.start("wmic", arg);
    p.waitForFinished();
    QString result = p.readAllStandardOutput().simplified().trimmed().toUpper();
    p.close();
    return result;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章