saka 发表于 2009-3-24 12:20:04

求助:如何采集本机MAC地址IP机器名称,然后自动导出文件?

求助:如何采集本机MAC地址IP机器名称,然后自动导出文件?
采集内容如下,
00E04D89FCBF=SM-040|192.168.0.40|||
请高手指点!

[ 本帖最后由 saka 于 2009-3-24 12:24 编辑 ]

akmm88 发表于 2009-3-24 22:41:52

下面这个例子可以,获取远程IP的MAC,修改一下对你应该很有用.
$sIP = InputBox("MAC地址获取", "请输入IP地址", @IPAddress1, "", 150, 100, -1, -1)
$MAC = _GetMAC ($sIP)
If $MAC <> "00:00:00:00:00:00" Then
MsgBox (0, "MAC地址", '"' &$sIP& '" 的MAC地址是:'&$MAC)
Else
MsgBox (0, "MAC地址", '无法获取:"' &$sIP& '" 的MAC地址')
EndIf

Func _GetMAC ($sIP)
   Local $MAC,$MACSize
   Local $i,$s,$r,$iIP

   $MAC = DllStructCreate("byte")
   $MACSize = DllStructCreate("int")

   DllStructSetData($MACSize,1,6)
   $r = DllCall ("Ws2_32.dll", "int", "inet_addr", "str", $sIP)
   $iIP = $r
   $r = DllCall ("iphlpapi.dll", "int", "SendARP","int", $iIP,"int", 0,"ptr", DllStructGetPtr($MAC),"ptr", DllStructGetPtr($MACSize))
   $s   = ""
   For $i = 0 To 5
       If $i Then $s = $s & ":"
       $s = $s & Hex(DllStructGetData($MAC,1,$i+1),2)
   Next
   Return $s
EndFunc

catcher 发表于 2009-7-5 01:16:42

ls非常好的代码,谢谢。

pingfan5888 发表于 2010-1-18 21:21:18

不错,学习了。。

yangkaicheng 发表于 2010-1-19 08:32:00

楼上解的很好..

kangtachen 发表于 2010-4-8 21:41:43

谢谢分享。
页: [1]
查看完整版本: 求助:如何采集本机MAC地址IP机器名称,然后自动导出文件?