删除之后还是挺干净的
软件环境
- windows
- python3
- winreg模块(自带),如果是python2请修改为_winreg
前置知识
所有已保存的网络存储HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
下面,每一项都是一个网络,每个网络有一个
网络的键NameType
值为6是USB共享网络产生的,应该删除
代码
import winreg
path = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles"
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path)
count = winreg.QueryInfoKey(key)[0]
# 获取子网络id
profileNames = [winreg.EnumKey(key, i) for i in range(count)]
for profileName in profileNames:
# 拼接路径,获取注册键
keyProfileName = winreg.OpenKey(
winreg.HKEY_LOCAL_MACHINE, rf"{path}\{profileName}")
# 获取网络类型
nameType = winreg.QueryValueEx(keyProfileName, "NameType")[0]
# 删除网络
if nameType == 6:
winreg.DeleteKey(winreg.HKEY_LOCAL_MACHINE, rf"{path}\{profileName}")
print(rf"Deleted key: HKEY_LOCAL_MACHINE\{path}\{profileName}")