如何在c ++中获取有关网络适配器物理的信息

时间:2017-02-19 13:41:38

标签: c++

我通过函数GetNetworkParam,GetInterfaceInfo等获取有关我的计算机上安装的所有网络适配器的信息...

现在在C ++中,我想在我的系统中获取信息物理网络适配器并非所有适配器(不是VMWare等),只是物理,怎么做?

1 个答案:

答案 0 :(得分:1)

正如Sam V.指出的那样,C ++是一种对网络硬件一无所知的语言。但是,通过使用某些库或框架,您可以通过多种方式查找信息。但这取决于您的一些要求。例如,找到一个完全可移植的解决方案可能会很困难。

也就是说,我会使用 Qt ,因为它可以在许多流行的平台上移植,同时仍然包含impressive list of features。请查看官方文档中的以下内容:

我用来过滤应用程序中的接口的一些示例代码:

 QList<QNetworkInterface> interfaceList=QNetworkInterface::allInterfaces();
    for(QNetworkInterface iface:interfaceList){
        QNetworkInterface::InterfaceFlags flags=iface.flags();
        if(flags&QNetworkInterface::InterfaceFlag::IsLoopBack){
            continue;
        }
        if(flags&QNetworkInterface::InterfaceFlag::IsPointToPoint){
            continue;
        }
// Filter on other properties you want here
    }