
Private Sub Form_Load()
GetMyIP
End Sub
Sub GetMyIP() '获取IP地址、网卡类型、网卡地址
Dim strComputer As String
Dim objWMI As Object
Dim colIP As Object
Dim IP As Object
Dim I As Integer
strComputer = ""
Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colIP = objWMIExecQuery _
("Select from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IP In colIP
If Not IsNull(IPIPAddress) Then
For I = LBound(IPIPAddress) To UBound(IPIPAddress)
MsgBox "IP 地址:" & IPIPAddress(I) & Chr(10) & _
"网卡类型:" & IPDescription(I) & Chr(10) & _
"网卡地址:" & IPMacaddress(I)
Next
End If
Next
End Sub
知道IP地址可通过以下方式查看主机名和MAC(网卡)地址:
1、 同时按“windows键+R键”打开运行对话框,输入“CMD”;
2、 在打开的dos界面下输入命令:nbtstat -a 19216811(IP地址),并按回车键,即可查询出主机名和MAC地址。
C++获取mac地址的代码:
#include <windowsh>
#include <stdlibh>
#include <stdioh>
#include <timeh>
/
Dev C++ -> include libnetapi32a
BCC 55 or VC++ -> #pragma comment(lib,"netapi32lib")
/
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
} ASTAT, PASTAT;
void getMac(char mac)
{
ASTAT Adapter;
NCB Ncb;
UCHAR uRetCode;
LANA_ENUM lenum;
int i = 0;
memset(&Ncb, 0, sizeof(Ncb));
Ncbncb_command = NCBENUM;
Ncbncb_buffer = (UCHAR )&lenum;
Ncbncb_length = sizeof(lenum);
uRetCode = Netbios( &Ncb );
printf( "The NCBENUM return adapter number is: %d \n ", lenumlength);
for(i=0; i < lenumlength ; i++)
{
memset(&Ncb, 0, sizeof(Ncb));
Ncbncb_command = NCBRESET;
Ncbncb_lana_num = lenumlana[i];
uRetCode = Netbios( &Ncb );
memset(&Ncb, 0, sizeof(Ncb));
Ncbncb_command = NCBASTAT;
Ncbncb_lana_num = lenumlana[i];
strcpy((char )Ncbncb_callname, " ");
Ncbncb_buffer = (unsigned char ) &Adapter;
Ncbncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
if (uRetCode == 0)
{
//sprintf(mac, "%02x-%02x-%02x-%02x-%02x-%02x ",
sprintf(mac, "%02X%02X%02X%02X%02X%02X ",
Adapteradaptadapter_address[0],
Adapteradaptadapter_address[1],
Adapteradaptadapter_address[2],
Adapteradaptadapter_address[3],
Adapteradaptadapter_address[4],
Adapteradaptadapter_address[5]
);
//printf( "The Ethernet Number on LANA %d is: %s\n ", lenumlana[i], mac);
}
}
}
int main(int argc, char argv[])
{
char mac=new char[32];
getMac(mac);
printf( "%s\n ", mac);
delete[]mac;
system( "PAUSE> NUL ");
return 0;
}
网络定义分为7层,MAC地址属于第二层的,它不是固定的,可以更改的!在开始--运行--里边输入CMD--回车--然后输入ipconfig
/all就可以查看了,里边有个Physical
Address,后边的就是MAC地址!你要限制他们的网速的话,可以在路由器里边将他们的MAC地址与IP地址绑定,这样他们每次获取IP的话,都是同一个IP,然后你将他们的IP地址添加到限制网速的列表里边就可以了!
以上就是关于如何用VB获得机器的MAC地址全部的内容,包括:如何用VB获得机器的MAC地址、知道IP地址如何查看主机名和MAC(网卡)地址、c++ 如何获取本机mac等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)