xymc 发表于 2017-3-12 00:05:16

修改MAC如何判断注册表的位置

通过注册表修改MAC
注册表{4D36E972-E325-11CE-BFC1-08002BE10318}这个位置下面有0000-0011
如何判断哪个位置才是对的
Win7x64系统

Alam 发表于 2017-3-12 09:08:52

以前做过自用的修改MAC工具,因为是单网卡,所以不管它,把所有项都改了.

xymc 发表于 2017-3-12 22:08:39

回复 2# Alam

{:face (319):}
这个算办法吗?

lin6051 发表于 2017-3-13 09:11:38

读取 每项的

'....{4D36E972-E325-11CE-BFC1-08002bE10318}\$i         \NetCfgInstanceId
<10      000x
否则 00x

xymc 发表于 2017-3-19 17:03:21

回复 4# lin6051

不是很明白,能说具体一点吗

lxwlxwayy 发表于 2017-3-19 20:53:34

帮你顶{:face (303):}

lin6051 发表于 2017-3-20 12:50:25

本帖最后由 lin6051 于 2017-3-20 22:53 编辑

回复 5# xymc

说的 好明白了啊...

$wk='{5BF54C7E-91DA-457D-80BF-333677D7E316}' ;获取自己的 网卡名称 自己论坛搜索

$r=getmac()
If $r='' Then
        msgbox(0,'','是默认mac')
Else
        msgbox(0,'','改动的mac:'&$r)
Endif

Func getmac()
For $i=0 To 99
$j='000'&$i
If $i>9 Then $j='00'&$i
$reg='HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\'&$j
If RegRead($reg, 'NetCfgInstanceId')=$wk Then Return RegRead($reg, 'NetworkAddress')   ;读取mac
Next
Endfunc
;修改就是 把注册表NetworkAddress值改后 然后重启一下相应的网卡


下面这样写比较高端
Func getmac()
For $i=0 To 99 ;不知道最多是不是9999?
$reg='HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\'&StringFormat('%04u',$i)
If RegRead($reg, 'NetCfgInstanceId')=$wk Then Return RegRead($reg, 'NetworkAddress')   ;读取mac
Next
Endfunc

虫子樱桃 发表于 2017-3-20 16:34:51

修改注册表 获取id值好像是

xymc 发表于 2017-3-25 17:21:15

回复 7# lin6051

$wk='{5BF54C7E-91DA-457D-80BF-333677D7E316}'
    现在是要判断这个位置是吗?

jingzhinvr 发表于 2017-3-30 00:08:43

读取注册表值

jingzhinvr 发表于 2017-4-2 19:55:00

读取位置数值试试看

xymc 发表于 2017-4-9 17:31:43

没搞明白。
页: [1]
查看完整版本: 修改MAC如何判断注册表的位置