vb6.0读取电脑的MAC地址时如果不设置IP就出现0

来源:百度知道 编辑:UC知道 时间:2024/07/07 12:01:33
vb6.0读取电脑的MAC地址时如果不设置IP就出现0是怎么回事呢?
想找一种能在任何情况下都正确读取电脑MAC地址的方法。

能读出别的确件信息来也行。

因为这个地址是根据ip来查找的,所以不指定ip就不能查找MAC地址,不过我们可以用其他的办法先获得本机ip,然后就可以查找MAC地址了

方法如下:
1)添加Microsoft Winsock control6.0部件
2)窗体上添加1个 command, 2个textbox ,1个Winsock ,属性全部用默认值
3)复制以下代码到窗口代码中,

Option Explicit

Private Const NO_ERROR = 0
Private Declare Function inet_addr Lib "wsock32.dll" _
(ByVal s As String) As Long
Private Declare Function SendARP Lib "iphlpapi.dll" _
(ByVal DestIP As Long, _
ByVal SrcIP As Long, _
pMacAddr As Long, _
PhyAddrLen As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(dst As Any, _
src As Any, _
ByVal bcount As Long)

Private Sub form_Load()
Text1.Text = Winsock1.LocalIP
Text2.Text = ""
Command1.Caption = "Get Remote Mac Address"
End Sub

Private Sub Command1_Click()
Dim sRemoteMacAddress