Qt获取本地有效mac地址

  • 获取有效mac地址
//获取当前有效网卡
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();
    //MAC地址
    qDebug() << "HardwareAddress:" << netInterface.hardwareAddress();
    QList<QNetworkAddressEntry>entryList = netInterface.addressEntries();
    //遍历每一个IP地址(每个包含一个IP地址,一个子网掩码和一个广播地址)
    foreach(QNetworkAddressEntry entry, entryList)
    {
        //IP地址
        qDebug() << "IP Address:" << entry.ip().toString();
        //子网掩码
        qDebug() << "Netmask:" << entry.netmask().toString();
        //广播地址
        qDebug() << "Broadcast:" << entry.broadcast().toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值