當前位置 主頁 > 網站技術 > 代碼類 > 最大化 縮小

    Python操作注冊表詳細步驟介紹

    欄目:代碼類 時間:2020-02-05 18:06

    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)  
    # 返回項的子項數目、項值數目,以及最后一次修改時間 

    Python操作注冊表步驟之4.設置項值

    要修改或者重新設置注冊表某一項的項值可以使用RegSetValueEx函數,如果要設置項的默認值可以使用RegSetValue函數。需要說明的是,對于RegSetValueEx,如果要設置的項值不存在,那么RegSetValueEx會添加該項值,如果存在,則修改該項值。其函數原型分別如下所示。

    RegSetValueEx(key, valueName, reserved, type, value)RegSetValue
    (key, subKey, type, value)

教我怎样炒股