《windows系统下在应用层如何获取网卡信息》由会员分享,可在线阅读,更多相关《windows系统下在应用层如何获取网卡信息(4页珍藏版)》请在金锄头文库上搜索。
1、Windows 系统下在应用层如何获取网卡信息系统下在应用层如何获取网卡信息在驱动层获取网卡信息有些许难度,比如获取网关,子网掩码。应用层获取网卡的信 息比较简单,并且比较灵活。应用层获取网卡信息以后下发给驱动,这样就实现了驱动层 获取网卡信息的功能。 这个需求应用的比较频繁,所以我对这部分代码进行了再次封装,用面向对象的思想 写了一个类,能够获取网卡的【MAC】,【IP 地址】 , 【子网掩码】 , 【网关】 , 【网卡的INDEX】,【IPV6 地址】 , 【网卡的描述信息】 , 【网卡的 NAME】等等信息。 类的定义如下class myaddr public:int Index;ULO
2、NG Ipv4;ULONG Mask;ULONG GateWay;UCHAR Mac6;CString Describ; ;class myadpt public:myaddr addrMAX_ADAPTER_NUM;int adptnum;UCHAR DhcpEnabled;int cur_index;int Get_Current_Index(void * mac);void InitAdptInfo();void DisPlay_Info();void ResetAdptInfo(); ;class gn_adapter public: UCHARmac6;ULONG mask;ULON
3、G gateway10;ULONG Ipv6Addr4; UINTindex; CStringAdapterName;CStringDescribtion; CStringFriendName; gn_adapter(); ; class mypcaddr public: ULONG ipv4addr;ULONG ipv6addr4;ULONG mask;ULONG gateway;UCHAR mac6;CString ipv6addr_str;CString Describ; ;class adpt2 public:mypcaddr myaddrMAX_ADPT_NUM;gn_pc_adpt
4、 myadpt1;myadpt myadpt2;int adptnum;UINT CurIndex;void InitMyAddr();void ResetMyAddr();void DisPlayMyAddr(); ;因为获取 V4 地址,网关,掩码的系统库函数和获取 IPV6 地址的库函数不一样,方式不一 样,这样就需要我们分别获取了以后再用一个类来把这部分信息组合起来。这样我用了 5 个类来实现部分功能。具体实现可参照 IP 助手函数。代码见附件。下面我们来看看这个开发库如何使用吧 1.把 adpt.h,adpt.cpp, adapter.h,adapter.cpp 加入到工程2.在头文件中加入如下代码3.在某个事件处理函数里,加入如下代码4.点击运行,效果如下简单吧!