.h
- 第一种获取方法:原作者[url=https://www.fearlazy.com/category-2.html,1]文章出处[/url]
Mac_label = new QLabel;
Mac_label->setFixedSize(1000,80);
QList <QNetworkInterface> interfaces =QNetworkInterface::allInterfaces();
for (auto inter : interfaces)
{
QString Mac=tr("%1").arg(inter.hardwareAddress());
Mac_label->setText("Mac地址:"+Mac);
}
#pragma once#include <QString>class GlobalApiClass{private: GlobalApiClass(); ~GlobalApiClass();public: static GlobalApiClass &GetInstance() { static GlobalApiClass instance; return instance; }; /* * @brief:获取主机名称 */ QString getUserName(); /* * @brief:获取本机IP */ QString getAddIP(); /* * @brief:获取本机MAC地址 */ QString getHostMacAddress(); /* * @brief:获取硬盘 */ QString getDiskdrive(); /* * @brief:获取本机IP地址 */ QString getCpuID();};————————————————版权声明:本文为CSDN博主「Qt幻想家」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:
https://blog.csdn.net/weixin_43519792/article/details/113588737.cpp- #include "GlobalApiClass.h"
#include <QProcess>
#include <QtNetWork/QHostInfo>
#include <QtNetWork/QHostAddress>
#include <QtNetWork/QNetworkInterface>
GlobalApiClass::GlobalApiClass()
{
}
GlobalApiClass::~GlobalApiClass()
{
}
QString GlobalApiClass::getUserName()
{
return QHostInfo::localHostName();
}
QString GlobalApiClass::getAddIP()
{
QList<QHostAddress> list = QNetworkInterface::allAddresses();
foreach(QHostAddress address, list)
{
if (address.protocol() == QAbstractSocket::IPv4Protocol)
//我们使用IPv4地址
return address.toString();
}
return 0;
}
QString GlobalApiClass::getHostMacAddress()
{
QList<QNetworkInterface> nets = QNetworkInterface::allInterfaces();// 获取所有网络接口列表
int nCnt = nets.count();
QString strMacAddr = "";
for (int i = 0; i < nCnt; i++)
{
// 如果此网络接口被激活并且正在运行并且不是回环地址,则就是我们需要找的Mac地址
if (nets[i].flags().testFlag(QNetworkInterface::IsUp) && nets[i].flags().testFlag(QNetworkInterface::IsRunning) && !nets[i].flags().testFlag(QNetworkInterface::IsLoopBack))
{
strMacAddr = nets[i].hardwareAddress();
break;
}
}
return strMacAddr;
}
QString GlobalApiClass::getDiskdrive()
{
QProcess p(0);
p.start("wmic diskdrive get serialnumber");
p.waitForStarted();
p.waitForFinished();
QString result = QString::fromLocal8Bit(p.readAllStandardOutput());
QStringList list = result.split("\r\n");
if (list.size() < 1)
return "error";
return list.at(1).trimmed();
}
QString GlobalApiClass::getCpuID()
{
QString cpu_id = "";
QProcess p(0);
p.start("wmic CPU get ProcessorID");
p.waitForStarted();
p.waitForFinished();
cpu_id = QString::fromLocal8Bit(p.readAllStandardOutput());
cpu_id = cpu_id.remove("ProcessorId").trimmed();
return cpu_id;
}
打印输出:
- qDebug() <<QString::fromLocal8Bit("主机名:") << GlobalApiClass::GetInstance().getUserName();
qDebug() << QString::fromLocal8Bit("IP:")<< GlobalApiClass::GetInstance().getAddIP();
qDebug() << QString::fromLocal8Bit("硬盘ID:")<< GlobalApiClass::GetInstance().getDiskdrive();
qDebug() << QString::fromLocal8Bit("Mac地址:")<< GlobalApiClass::GetInstance().getHostMacAddress();
qDebug() << QString::fromLocal8Bit("cpu ID:")<< GlobalApiClass::GetInstance().getCpuID();
"主机名:" "RD-04"
"IP:" "192.168.1.1"
"硬盘ID:" "ZN18JXN8"
"Mac地址:" "C4:66:16:3A:09:56"
"cpu ID:" "BFEBFBFF000908ED"