|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我的中心思想是 修改Mac地址,网络上可能有几种方案,但是我实践通过测试的 就是我现在的方案(修改注册表)
下面 详见注册表路径:
win10
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\CLASS\{4D36E972-E325-11CE-BFC1-08002BE10318}\008
win7
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\CLASS\{4D36E972-E325-11CE-BFC1-08002BE10318}\007
winxp
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\CLASS\{4D36E972-E325-11CE-BFC1-08002BE10318}\001
现在看来,主路径 直到......0318 这都是一样的,可是后面的 001 007 008 都是什么鬼 如何我才能写一个各种windows系统通用的代码
本帖最后由 isdkz 于 2023-3-10 18:44 编辑
可以配合 netifaces 这个库
- import winreg
- import netifaces
- def_gw_device = netifaces.gateways()['default'][netifaces.AF_INET][1]
- # 打开注册表键
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}")
- # 遍历所有子键
- for i in range(winreg.QueryInfoKey(key)[0]):
- # 获取子键名称
- subkey_name = winreg.EnumKey(key, i)
- try:
- # 打开子键
- subkey = winreg.OpenKey(key, subkey_name)
-
- netCfgInstanceId = winreg.QueryValueEx(subkey, "NetCfgInstanceId")[0]
- driverDesc = winreg.QueryValueEx(subkey, "DriverDesc")[0]
- if netCfgInstanceId == def_gw_device:
- print("当前在使用的网卡编号为:", subkey_name)
- print("网卡名称:", driverDesc)
- except (FileNotFoundError, PermissionError):
- # 如果没有 DriverDesc 值或拒绝访问,跳过
- pass
- # 关闭注册表键
- winreg.CloseKey(key)
复制代码
|
|