python操作登錄檔步驟之1.開啟登錄檔
對登錄檔進行操作前,必須開啟登錄檔。在python中,可以使用以下兩個函式:regopenkey和regopenkeyex。其函式原型分別如下所示。
regopenkey(key, subkey , reserved , sam)regopenkeyex
(key, subkey , reserved , sam)
兩個函式的引數一樣。引數含義如下:
key:必須為表10-1中列出的項。
subkey:要開啟的子項。
reserved:必須為0。
sam:對開啟的子項進行的操作,包括win32con.key_all_access、win32con.key_read、win32con. key_write等。
以下例項實現開啟登錄檔「hkey_current_user\software」項。
>>> import win32api # 匯入win32api模組
>>> import win32con # 匯入win32con模組# 使用regopenkey開啟登錄檔項
>>> key = win32api.regopenkey(win32con.hkey_current_user,
'software',0,win32con.key_read)
>>> print key # key為開啟的項的控制代碼
python操作登錄檔步驟之2.關閉登錄檔
開啟的登錄檔,在操作完成後,需要關閉。在python中使用regclosekey函式關閉開啟的登錄檔項。其函式原型如下所示。
regclosekey(key)
其引數只有乙個,其含義如下。
key:已經開啟的登錄檔項。
以下例項關閉乙個已經開啟的登錄檔項。
# 關閉剛才開啟的登錄檔項
>>www.cppcns.com> win32api.regclosekey(key)
>>> print key
python操作登錄檔步驟之3.讀取項值
在開啟登錄檔項以後,可以使用regqueryvalue函式讀取項的預設值。如果要讀取某一項值,可以使用regqueryvalueex函式其函式原型分別如下所示。
regqueryvalue(key, subkey )regqueryvalueex(key, valuename )
對於regqueryvalue,其引數含義如下。
key:已開啟的登錄檔項的控制代碼。
subkey:要操作的子項。
對於regqueryvalueex,其引數含義如下。
key:已經開啟的登錄檔項的控制代碼。
valuename:要讀取的項值名稱。
以下例項實現對「hkey_local_machine\software\microsoft\internet explorer」項的操作。
>>> import win32api
>>> import win32con# 開啟「hkey_local_machine\software
\microsoft\internet explorer」項
>>> key = win32api.regopenkey(win32con.hkey_local_machine,
'software\\microsoft\\internet explorer',0, win32con.key_all_access)
>>> win32api.regqueryvalue(key,'')
# 讀取項的預設值''
# 輸出為空,表示其預設值未設定#讀取項值名稱為version的項值資料,
也就是internet explorer的版本
>>> win32api.regqueryvalueex(key,'version') ('6.0.2900.2180', 1)
>>> win32api.regqueryinfokey(key)
# regqueryinfokey函式查詢項的基本資訊(26, 7, 128178812229687500l)
# 返回項的子項數目、項值數目,以及最後一次修改時間
python操作登錄檔步驟之4.設定項值
要修改或者重新設定登錄檔某一項的項值可以使用regsetvalueex函式,如果要設定項的預設值可以使用regsetvalue函式。需要說明的是,對於regsetvalueex,如果要設定的項值不存在,那麼regsetvalueex會新增該項值,如果存在,則修www.cppcns.com改該項值。其函式原型分別如下所示。
regsetvalueex(key, valuename, reserved, type, value)regsetvalue
(key, subkey, type, value)
對於regsetvalueex,其引數含義如下。
key:要設定的項的控制代碼。
valuename:要設定的項值名稱。
reserved:保留,可以設為0。
type:項值的型別。
value:所要設定的值。
對於regsetvalue,其引數的含義如下。
key:已經開啟的項的控制代碼。
subkey:所要設定的子項。
type:項值的型別,必須為win32con.reg_sz。
value:項值資料,為字串。
以下的例項實現修改「hkey_local_machine\software\microsoft\internet explorer」的預設值,以及其「version」項值資料。
# 將「hkey_local_machine\software\microsoft\internet explorer」的預設值設為python
>>> win32api.regsetvalue(key,'',win32con.reg_sz,'python')
# 將其「v設定為7.0.2900.2180
>>> win32api.regsetvalueex(key,'version',0,win32con.reg_sz,'7.0.2900.2180')
python操作登錄檔步驟之5.新增、刪除項
要向登錄檔中新增項可以使用regcreatekey函式。regdeletekey函式可以刪除登錄檔中的項。其引數原型分別如下所示。
regcreatekey(key, subkey )regdeletekey (key, subkey )
其引數含義相同,引數含義分別如下。
key:已經開啟的登錄檔項的控制代碼。
subkey:所要操作(新增或刪除)的子項。
以下的例項實現對「hkey_local_machine\sowww.cppcns.comftware\microsoft\internet explorer」項的新增、刪除子項操作。
# 向「hkey_local_machine\software\microsoft\internet
explorer」新增子項「python」
>>> win32api.regcreatekey(key,'python')
# 新建立的子項的控制代碼# 刪除剛才建立的子項「python」
>>> win32api.regdeletekey(key,'python')
Python 操作登錄檔
通過python操作登錄檔有兩種方式,第一種是通過python的內建模組 winreg 另一種方式就是win32 extension for python 的win32api模組,但是需要進行額外的安裝。這裡主要給出一些 winreg和win32api的demo 1 winrg 可以參考官方的參考文...
Python 操作登錄檔
通過python的內建模組winreg這裡主要給出一些winreg的demo python2 import winreg python3 import winreg python37 coding utf 8 coding utf 8 import winreg def obtain 獲取該鍵的所有...
登錄檔操作
近來由於需要在自己寫的程式中對登錄檔進行操作。總結些經驗,並做個乙個demo供日後使用,現在把它拿出來和大家分享 小弟初學vc,有誤之處還請賜教。為了使用方便,我把一些操作寫成了函式,以便方便呼叫,具體 如下所示 一 定義 hkey hkey char content 256 所查詢登錄檔鍵值的內容...