我通过函数GetNetworkParam,GetInterfaceInfo等获取有关我的计算机上安装的所有网络适配器的信息...
现在在C ++中,我想在我的系统中获取信息物理网络适配器并非所有适配器(不是VMWare等),只是物理,怎么做?
答案 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
}