资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
Windows 系统下在应用层如何获取网卡信息系统下在应用层如何获取网卡信息在驱动层获取网卡信息有些许难度,比如获取网关,子网掩码。应用层获取网卡的信 息比较简单,并且比较灵活。应用层获取网卡信息以后下发给驱动,这样就实现了驱动层 获取网卡信息的功能。 这个需求应用的比较频繁,所以我对这部分代码进行了再次封装,用面向对象的思想 写了一个类,能够获取网卡的【MAC】,【IP 地址】 , 【子网掩码】 , 【网关】 , 【网卡的INDEX】,【IPV6 地址】 , 【网卡的描述信息】 , 【网卡的 NAME】等等信息。 类的定义如下class myaddr public:int Index;ULONG 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;ULONG 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 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.点击运行,效果如下简单吧!
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号