Qt获取IP地址、MAC地址等网卡信息,区分本地网卡、无线网卡和虚拟网卡

本文介绍了使用Qt库获取IP、MAC地址以及如何区分本地、无线和虚拟网卡的方法。在只有一个本地网卡时,可以通过QNetworkInterface简单获取IP。若有虚拟网卡,需要过滤虚拟网卡信息。而区分本地和无线网卡则需要借助Windows库,如WinSock2和Iphlpapi,在Windows环境下可以识别Adapter Type来判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.只有一个本地网卡

        此时获取IP地址最简单的方法如下所示,但是这种方法只能获取IP地址。需包含头文件#include <QNetworkInterface>,.pro文件中加入network模块。

void getLocalIpWithQt()
{
    QList<QHostAddress> ipList = QNetworkInterface::allAddresses();
    foreach(QHostAddress ipItem, ipList)
    {
        //只显示以192开头的IP地址
        if(ipItem.protocol()==QAbstractSocket::IPv4Protocol&&ipItem!=QHostAddress::Null
                &&ipItem!=QHostAddress::LocalHost&&ipItem.toString().left(3)=="192")
        {
            qDebug()<<ipItem.toString();
        }
    }
}

2.只有虚拟网卡和一个本地网卡

        安装了虚拟机后,获取网卡信息时,会自动获取到虚拟网卡的信息,但是我们大多数时候并不需要虚拟网卡信息,因此必须以虚拟网卡

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值