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:已經打開的注冊表項。
以下實例關閉一個已經打開的注冊表項。
# 關閉剛才打開的注冊表項
>>> 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) # 返回項的子項數目、項值數目,以及最后一次修改時間
新聞熱點
疑難解答