qt--硬件序列号
获取mac地址
在pro工程中加入:QT += network
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; }
硬件信息
需要:#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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)