QString strMac;
QList<QNetworkInterface> ifaces = QNetworkInterface::allInterfaces();
for (int i = 0; i < ifaces.count(); i++)
{
QNetworkInterface iface = ifaces.at(i);
if ( iface.flags().testFlag(QNetworkInterface::IsUp) && iface.flags().testFlag(QNetworkInterface::IsRunning) && !iface.flags().testFlag(QNetworkInterface::IsLoopBack))
{
for (int j=0; j<iface.addressEntries().count(); j++)
{
strMac = iface.hardwareAddress();
i = ifaces.count();
break;
}
}
}
qDebug() << strMac;
- 获取本地所有网络信息(效果类似 ipconfig/all )
foreach (QNetworkInterface netInterface, QNetworkInterface::allInterfaces())
{
qDebug() << "Device:" << netInterface.name();
qDebug() << "HardwareAddress:" << netInterface.hardwareAddress();
QList<QNetworkAddressEntry>entryList = netInterface.addressEntries();
foreach(QNetworkAddressEntry entry, entryList)
{
qDebug() << "IP Address:" << entry.ip().toString();
qDebug() << "Netmask:" << entry.netmask().toString();
qDebug() << "Broadcast:" << entry.broadcast().toString();
}
}