取本機(jī)IP地址和網(wǎng)卡號(hào)
界面如下,主要是使用Winsock的一些東東取機(jī)器名和IP地址,取網(wǎng)卡就麻煩些,需要發(fā)送Netbios命令,需要注意的是需要包含winsock2.h和nb30.h,并且要引入兩個(gè)lib:

包含頭和lib如下:
#include<winsock2.h>
#include <nb30.h>
#pragma comment(lib, "netapi32.lib")
#pragma comment(lib, "Wsock32.lib")
根據(jù)shootingstars 的指點(diǎn),編寫了一下用 Iphlpapi 取IP地址的代碼,可以取本機(jī)IP,網(wǎng)關(guān)IP,子網(wǎng)掩碼,網(wǎng)卡名字等,需要在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);
}
}

輸出結(jié)果如下:

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

包含頭和lib如下:




具體的實(shí)現(xiàn)參考源程序。
源程序下載:http://www.shnenglu.com/Files/edog/GetIPName.rar根據(jù)shootingstars 的指點(diǎn),編寫了一下用 Iphlpapi 取IP地址的代碼,可以取本機(jī)IP,網(wǎng)關(guān)IP,子網(wǎng)掩碼,網(wǎng)卡名字等,需要在VC7上編譯:





































posted on 2005-11-30 01:13 冰凍熱狗 閱讀(13450) 評(píng)論(15) 編輯 收藏 引用 所屬分類: 應(yīng)用程序