找回密码
 加入
搜索
查看: 3427|回复: 11

怎么读取指定网卡名或连接名的原始mac?不是当前mac,是原始出厂mac

  [复制链接]
发表于 2009-10-5 13:21:00 | 显示全部楼层 |阅读模式
同题
 楼主| 发表于 2009-10-5 16:41:49 | 显示全部楼层
额,没人知?
发表于 2009-10-6 05:23:53 | 显示全部楼层
清空注册表 NetworkAddress 值后,得到的MAC就是原厂的了。可能需要重启网卡。
 楼主| 发表于 2009-10-6 08:35:38 | 显示全部楼层
知道,就是想要在为清空前就知道,要怎么办
 楼主| 发表于 2009-10-6 13:58:08 | 显示全部楼层
额,没人知道?
发表于 2009-11-17 19:43:59 | 显示全部楼层
获取原始MAC:
#include <SetupApi.au3>

Const $GUID_NDIS_LAN_CLASS = "{AD498944-762F-11D0-8DCB-00C04FC3358C}"

Local $hDevs, $tDevIfInfo, $tDevInfo, $sDescr, $sName, $sText
Local $iMask, $iIFIndex, $sDevicePath, $hDevice, $tBuffer, $pBuffer

$iMask = bitOR($DIGCF_PRESENT, $DIGCF_DEVICEINTERFACE)
$hDevs = _SetupDiGetClassDevs($iMask, $GUID_NDIS_LAN_CLASS)
$iMask = bitOR($GENERIC_READ, $GENERIC_WRITE)
$tBuffer = DllStructCreate("dword OID;byte PhysAddr[8]")
$pBuffer = DllStructGetPtr($tBuffer)
DllStructSetData($tBuffer, "OID", 0x01010101)


While _SetupDiEnumDeviceInterfaces($hDevs, 0, $GUID_NDIS_LAN_CLASS, $iIfIndex, $tDevIfInfo)
        $iIFIndex += 1
        DllStructSetData($tBuffer, "PhysAddr", "0x0000000000000000")
        $sDevicePath = _SetupDiGetDeviceInterfaceDetail($hDevs, $tDevIfInfo, $tDevInfo)
        $sDescr = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, 0)
        $sName = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, 0xC)
        If $sName <> "" Then $sDescr = $sName
        If $sDescr = "" Then $sDescr = "[Unknown device]"
        $hDevice = _CM_Create_File($sDevicePath, $iMask, 3, 0, 3, 0)
        If Number($hDevice) < 1 Then ContinueLoop
        _CM_Device_IO_Control($hDevice, 0x170002, $pBuffer, 4, $pBuffer + 4, 8)
        _CM_Close_Handle($hDevice)
        $sText &= "Device: " & $sDescr & @CRLF & "Physical Address: "
        $sText &= DllStructGetData($tBuffer, "PhysAddr") & @CRLF & @CRLF
WEnd
_SetupDiDestroyDeviceInfoList($hDevs)
Msgbox(0, "", $sText)
以上。

评分

参与人数 1威望 +10 金钱 +100 贡献 +50 收起 理由
kn007 + 10 + 100 + 50 谢谢!

查看全部评分

发表于 2009-11-17 20:23:33 | 显示全部楼层
SetupApi.au3  在哪??
发表于 2009-11-17 20:28:17 | 显示全部楼层


你这样还不如不回答.....  整个网上搜遍了,都没有那个UDF
发表于 2009-11-17 20:58:29 | 显示全部楼层
Re 8#
搜遍整个网络吗? - -|||
http://www.autoitx.com/forum.php ... &extra=page%3D1
发表于 2009-11-17 20:59:15 | 显示全部楼层
发表于 2009-11-17 22:07:12 | 显示全部楼层
谢谢两位哥们,我确实是搜索过GG了。  没想到踏破铁鞋无觅处,得来全不费功夫啊。
  你们不信可以在GG 搜索一下 SetupApi.au3 ,是只有一个结果的,而且没什么参考价值 。
再次谢过。
发表于 2013-7-24 00:00:05 | 显示全部楼层
牛,我想知道,这样获得的第一个一定是正在使用的网卡的吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-15 08:04 , Processed in 0.082536 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表