如何用VB获得机器的MAC地址

如何用VB获得机器的MAC地址,第1张

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10622375.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存