获取mac地址
在pro工程中加入:QT += network
win.h文件
#ifndef WIN_H#define WIN_H#include <QWidget>#include <QDebug>#include <QNetworkInterface> //导入头文件class Win : public QWidget{ Q_OBJECTpublic: 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;}
硬件信息
需要:#include <QProcess>
win.cpp
QT开发交流+赀料君羊:714620761
#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;}