QT获取网线拔插状态以及扫描网卡信息

QT获取网线拔插状态以及扫描网卡信息(windos)

以下是代码,添加好相关头文件就可以使用

void MainWindow::scan_netlink()
{
    QString localHostName=QHostInfo::localHostName();
    ui->display->append(localHostName);//主机名

    QHostInfo info=QHostInfo::fromName(localHostName);
    qDebug()<<"IP Address:"<<info.addresses();//获取当前主机名下ip信息

    foreach(QHostAddress address,info.addresses()){
       if(address.protocol()==QAbstractSocket::IPv4Protocol){
           qDebug()<<"address"<<address.toString();//当前使用的ipv4信息
       }
    }

    QList<QNetworkInterface> list=QNetworkInterface::allInterfaces();//获取所有网卡接口信息到list
    //遍历接口信息
    foreach(QNetworkInterface interface,list){
       qDebug()<<"Device:"<<interface.name();//设备名称
       qDebug()<<"type"<<interface.type();//设备类型(eth or wifi)
       qDebug()<<"humanReadableName"<<interface.humanReadableName();//接口描述
       qDebug()<<"HardwareAddress:"<<interface.hardwareAddress();//当前接口的MAC信息
       QList<QNetworkAddressEntry> iplist = interface.addressEntries();//获取当前
       QNetworkInterface::InterfaceFlags flags = interface.flags();//获取接口状态信息

       //遍历当前接口下的信息
       foreach(QNetworkAddressEntry s,iplist)
       {
           qDebug()<<"current ip"<<s.ip();
           if(flags.testFlag(QNetworkInterface::IsUp))//查看当前接口是否处于活动状态
           {
               qDebug()<<"is up"<<s.ip().toString();
           }else
           {
               qDebug()<<"is down";
           }
       }
    }
}
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值