python3 winreg的使用記錄


_winreg模塊可以用來操作windows的注冊表
首先用OpenKey獲得句柄handle:

_winreg. OpenKey ( keysub_key[,  res[,  sam]] )

這個就是句柄

handler=winreg.OpenKey(winreg.HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client,'LocalDevices')就獲得了指向LocalDevices的句柄,我們可以對它進行操作了.

windows注冊表的組成是由類似鍵值對組成的,鍵(key)是上文說的LocalDevices,值分三種

name,type,data 我們想要獲得鍵值,可以用EnumKey(key,index)和EnumValue(key,index)因為一個句柄下可能有很多Key和多個Value多億需要索引index來確定位置,如果要遍歷,可以用循環.

 

接下來的操作是對注冊表的增刪改查:

winreg.CreateKey(key,sub_key) 在key下創建一個subkey,返回值指向subkey

winreg.DeleteKey(key,sub_key) 該函數用於刪除key下的指定subkey

winreg.SetValue(key,sub_key,type,value) 設置subkey的type和value(因為沒規定名稱,所以是第一個默認)
winreg.SetValueEx(key,value_name,reserved,type,value) 該函數用於設置key中對應name的type和value

winreg.QueryValue(key,sub_key) 獲取相應subkey的默認name的數據data
winreg.QueryValueEx(key,value_name) 獲取key中相應name的type和data,返回值是個元組tuple.

最后就是對句柄的關閉 _winreg.CloseKey()

簡單例子如下:
  1. import _winreg
  2. handler=winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SOFTWARE\Classes')
  3. key= winreg.EnumKey(handler,1)
  4. key=winreg.OpenKey(handler,str(key))
  5. val= winreg.EnumValue(key,1)
  6. print (val)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM