0
点赞
收藏
分享

微信扫一扫

qt--硬件序列号

七千22 2022-01-26 阅读 81

qt--硬件序列号_ios

获取mac地址 

在pro工程中加入:QT += network  

qt--硬件序列号_ios_02

win.h文件

#ifndef WIN_H
#define WIN_H

#include <QWidget>
#include <QDebug>
#include <QNetworkInterface> //导入头文件

class Win : public QWidget
{
Q_OBJECT

public:
Win(QWidget *parent = nullptr);
~Win();

QStringList get_mac();//获取mac函数

};
#endif // WIN_H

win.cpp文件

#include "win.h"

Win::Win(QWidget *parent)
: QWidget(parent)
{
this->resize(300,200);
QStringList maclist=get_mac();
qDebug()<<maclist[0];

}

Win::~Win()
{
}

QStringList Win::get_mac()
{
QStringList mac_list;
QString strMac;
QList<QNetworkInterface> ifaces = QNetworkInterface::allInterfaces();
//返回一个在主机上找到的所有网络接口的列表。如果查找失败,则返回一个0个元素的列表
for (int i=0; i<ifaces.count(); i++)
{
QNetworkInterface iface = ifaces.at(i);

//过滤掉本地回环地址、没有开启的地址
if (iface.flags().testFlag(QNetworkInterface::IsUp) && !iface.flags().testFlag(QNetworkInterface::IsLoopBack))
{
//过滤掉虚拟地址
if (!(iface.humanReadableName().contains("VMware",Qt::CaseInsensitive)))
{
strMac = iface.hardwareAddress();
mac_list.append(strMac);
}
}
}
return mac_list;

}

qt--硬件序列号_序列号_03

硬件信息

需要:#include <QProcess>

win.cpp

#include "win.h"

Win::Win(QWidget *parent)
: QWidget(parent)
{
this->resize(300,200);

QString str=getWMIC("wmic cpu get processorid"); //查询cpu序列号
str=getWMIC("wmic baseboard get serialnumber"); //查询主板序列号
str=getWMIC("wmic bios get serialnumber"); //查询BIOS序列号
str=getWMIC("wmic diskdrive get serialnumber"); //查看硬盘
str=getWMIC("wmic cpu get Name"); //获取cpu名称
//"Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz"

str=getWMIC("wmic cpu get NumberOfCores"); //获取cpu核心数
//"2"
str=getWMIC("wmic cpu get NumberOfLogicalProcessors"); //获取cpu线程数
//"4"


qDebug()<<str;
}

Win::~Win()
{
}

QString Win::getWMIC(const QString &cmd) //获取硬件信息函数
{
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;
}
举报

相关推荐

0 条评论