取本机IP地址和网卡号

取本机IP地址和网卡号

界面如下,主要是使用Winsock的一些东东取机器名和IP地址,取网卡就麻烦些,需要发送Netbios命令,需要注意的是需要包含winsock2.h和nb30.h,并且要引入两个lib:
GetIPName.jpg

包含头和lib如下:
#include<winsock2.h>
#include <nb30.h>
#pragma comment(lib, "netapi32.lib")
#pragma comment(lib, "Wsock32.lib")

具体的实现参考源程序。

源程序下载: http://www.cppblog.com/Files/edog/GetIPName.rar


根据 shootingstars 的指点,编写了一下用 Iphlpapi 取IP地址的代码,可以取本机IP,网关IP,子网掩码,网卡名字等,需要在VC7上编译:

#include "stdio.h" 
#include "windows.h" 
#include "Iphlpapi.h" 
#pragma comment(lib, "Iphlpapi.lib") 
void main() 

IP_ADAPTER_INFO pAdapterInfo; 
ULONG len = sizeof(pAdapterInfo); 

if(GetAdaptersInfo(&pAdapterInfo, &len) != ERROR_SUCCESS) 

printf("GetAdaptersInfo ERROR!\n"); 
}
 
else 

printf("AdapterName: %s\n", pAdapterInfo.AdapterName); 
printf("Description: %s\n", pAdapterInfo.Description); 
printf("IP Address : %s\n", pAdapterInfo.IpAddressList.IpAddress.String); 
printf("IP Mask : %s\n", pAdapterInfo.IpAddressList.IpMask.String); 
printf("Gateway IP : %s\n", pAdapterInfo.GatewayList.IpAddress.String); 
}
 
}
 

输出结果如下: 
AdapterName:  {475CB3CA-3478-415A-86D8-7E5982306F58} 
Description: D-Link DFE-530TX PCI Fast Ethernet Adapter (rev.C) 
IP Address : 192.168.168.23 
IP Mask : 255.255.255.0 
Gateway IP : 192.168.168.10 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值