欢迎来到天天文库
浏览记录
ID:41006142
大小:101.93 KB
页数:4页
时间:2019-08-13
《Windows系统下在应用层如何获取网卡信息》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Windows系统下在应用层如何获取网卡信息在驱动层获取网卡信息有些许难度,比如获取网关,子网掩码。应用层获取网卡的信息比较简单,并且比较灵活。应用层获取网卡信息以后下发给驱动,这样就实现了驱动层获取网卡信息的功能。这个需求应用的比较频繁,所以我对这部分代码进行了再次封装,用面向对象的思想写了一个类,能够获取网卡的【MAC】,【IP地址】,【子网掩码】,【网关】,【网卡的INDEX】,【IPV6地址】,【网卡的描述信息】,【网卡的NAME】等等信息。类的定义如下classmyaddr{public:intIndex;ULONGIpv4;ULONGMask;ULON
2、GGateWay;UCHARMac[6];CStringDescrib;};classmyadpt{public:myaddraddr[MAX_ADAPTER_NUM];intadptnum;UCHARDhcpEnabled;intcur_index;intGet_Current_Index(void*mac);voidInitAdptInfo();voidDisPlay_Info();voidResetAdptInfo();};classgn_adapter{public:UCHARmac[6];ULONGmask;ULONGgateway[10];ULONGI
3、pv6Addr[4];UINTindex;CStringAdapterName;CStringDescribtion;CStringFriendName;gn_adapter();};classmypcaddr{public:ULONGipv4addr;ULONGipv6addr[4];ULONGmask;ULONGgateway;UCHARmac[6];CStringipv6addr_str;CStringDescrib;};classadpt2{public:mypcaddrmyaddr[MAX_ADPT_NUM];gn_pc_adptmyadpt1;myad
4、ptmyadpt2;intadptnum;UINTCurIndex;voidInitMyAddr();voidResetMyAddr();voidDisPlayMyAddr();};因为获取V4地址,网关,掩码的系统库函数和获取IPV6地址的库函数不一样,方式不一样,这样就需要我们分别获取了以后再用一个类来把这部分信息组合起来。这样我用了5个类来实现部分功能。具体实现可参照IP助手函数。代码见附件。下面我们来看看这个开发库如何使用吧1.把adpt.h,adpt.cpp,adapter.h,adapter.cpp加入到工程1.在头文件中加入如下代码2.在某个事件处理
5、函数里,加入如下代码3.点击运行,效果如下简单吧!
此文档下载收益归作者所有