在python3以上,_winreg已經變成了winreg
讀取注冊表
讀取用的方法是OpenKey方法:打開特定的key
winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ)
# Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run import winreg key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run") #獲取該鍵的所有鍵值,遍歷枚舉 try: i=0 while 1: #EnumValue方法用來枚舉鍵值,EnumKey用來枚舉子鍵 name,value,type = winreg.EnumValue(key,i) print( repr(name),value,type) i+=1 except WindowsError: print #假如知道鍵名,也可以直接取值 value,type = winreg.QueryValueEx(key,"Everything") print("Everything",value,type)
### 創建新鍵值nzblnk: Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\nzblnk
import winreg as reg key = reg.CreateKey(reg.HKEY_CURRENT_USER, 'SOFTWARE\\Classes\\nzblnk') reg.SetValue(key, '', reg.REG_SZ, 'URL:nzblnk') reg.SetValueEx(key, 'URL Protocol', 0, reg.REG_SZ, '') reg.CloseKey(key)
## 修改已有的鍵值 ## Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\nzblnk import winreg as reg key = reg.OpenKey(reg.HKEY_CURRENT_USER, 'SOFTWARE\\Classes\\nzblnk',0,winreg.KEY_ALL_ACCESS) reg.SetValue(key, '', reg.REG_SZ, 'URL:nzblnkNEW') ## 修改已有的鍵值 reg.SetValueEx(key, 'URL Protocol', 0, reg.REG_SZ, 'NEW') ## 修改已有的鍵值 reg.CloseKey(key)
## 修改已有的鍵值 ## Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\nzblnk import winreg as reg key = reg.OpenKey(reg.HKEY_CURRENT_USER, 'SOFTWARE\\Classes\\nzblnk',0,winreg.KEY_ALL_ACCESS) reg.SetValueEx(key, 'XXX', 0, reg.REG_SZ, 'NEWXXX') ## 修改已有的鍵值; 如果沒有則會新建;如果已經存在則會修改; reg.CloseKey(key)
創建 修改注冊表
創建key: winreg.CreateKey(key,sub_key)
刪除key: winreg.DeleteKey(key,sub_key)
刪除鍵值: winreg.DeleteValue(key,value)
給新建的key賦值: winreg.SetValue(key,sub_key,type,value)
REF
https://www.jb51.net/article/179589.htm
https://vimsky.com/examples/detail/python-method-winreg.CreateKey.html