kn007 发表于 2009-10-5 13:21:00

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

同题

kn007 发表于 2009-10-5 16:41:49

额,没人知?

bing614 发表于 2009-10-6 05:23:53

清空注册表 NetworkAddress 值后,得到的MAC就是原厂的了。可能需要重启网卡。

kn007 发表于 2009-10-6 08:35:38

知道,就是想要在为清空前就知道,要怎么办

kn007 发表于 2009-10-6 13:58:08

额,没人知道?

pusofalse 发表于 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")
$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 = ""
        $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)以上。

iftodo 发表于 2009-11-17 20:23:33

SetupApi.au3在哪??

iftodo 发表于 2009-11-17 20:28:17

:face (32):

你这样还不如不回答.....整个网上搜遍了,都没有那个UDF

pusofalse 发表于 2009-11-17 20:58:29

Re 8#
搜遍整个网络吗? - -|||
http://www.autoitx.com/forum.php?mod=viewthread&tid=10543&extra=page%3D1

afan 发表于 2009-11-17 20:59:15

回复 7# iftodo


    http://www.autoitx.com/forum.php?mod=viewthread&tid=10543

iftodo 发表于 2009-11-17 22:07:12

谢谢两位哥们,我确实是搜索过GG了。没想到踏破铁鞋无觅处,得来全不费功夫啊。
你们不信可以在GG 搜索一下 SetupApi.au3 ,是只有一个结果的,而且没什么参考价值 。
再次谢过。
:face (9):

dreamneo 发表于 2013-7-24 00:00:05

牛,我想知道,这样获得的第一个一定是正在使用的网卡的吗?
页: [1]
查看完整版本: 怎么读取指定网卡名或连接名的原始mac?不是当前mac,是原始出厂mac