QT或C++获取cpu序列号
一、调用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;
6.查询BIOS序列号:wmic bios get serialnumber;
7.查看硬盘:wmic diskdrive get serialnumber
二、QT或C++获取cpu序列号
1.函数
QString RegisterDlg::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+“A”;
}
2.调用
RegisterDlg::RegisterDlg(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
m_EncryptLib= new QLibrary(QCoreApplication::applicationDirPath()+"/EncryptDll.dll");
m_cpuid = getWMIC("wmic cpu get processorid"); // 获取cpu序列号
ui.Edt_key->setText(m_cpuid);
}
3.获取其它的硬件信息
getWMIC 的参数分别录入前面提到的 “CMD的命令符”即可获取。