日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

使用Python操作注册表

發布時間:2025/3/20 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Python操作注册表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://sucre.iteye.com/blog/710576

與注冊表操作相關的函數可以分為打開注冊表、關閉注冊表、讀取項值、c添加項值、添加項,以及刪除項等幾類。

1.打開注冊表

對注冊表進行操作前,必須打開注冊表。在Python中,可以使用以下兩個函數:RegOpenKey和RegOpenKeyEx。其函數原型分別如下所示。

Html代碼??
  • 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”項。

    Python代碼??
  • <strong>>>>?import?win32api?????#?導入win32api模塊??
  • >>>?import?win32con????#?導入win32con模塊??
  • #?使用RegOpenKey打開注冊表項??
  • >>>?key?=?win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,??
  • 'Software',0,win32con.KEY_READ)??
  • >>>?print?key?????#?key為打開的項的句柄</strong>??
  • ?2.關閉注冊表

    ?

    打開的注冊表,在操作完成后,需要關閉。在Python中使用RegCloseKey函數關閉打開的注冊表項。其函數原型如下所示。

    RegCloseKey(key)

    其參數只有一個,其含義如下。

    key:已經打開的注冊表項。

    以下實例關閉一個已經打開的注冊表項。

    Python代碼??
  • <strong>#?關閉剛才打開的注冊表項??????
  • >>>?win32api.RegCloseKey(key)??
  • >>>?print?key??
  • </strong>??
  • ?3.讀取項值

    ?

    在打開注冊表項以后,可以使用RegQueryValue函數讀取項的默認值。如果要讀取某一項值,可以使用RegQueryValueEx函數。其函數原型分別如下所示。

    Python代碼??
  • RegQueryValue(key,?subKey?)??
  • RegQueryValueEx(key,?valueName?)??
  • ?對于RegQueryValue,其參數含義如下。

    key:已打開的注冊表項的句柄。

    subKey:要操作的子項。

    對于RegQueryValueEx,其參數含義如下。

    key:已經打開的注冊表項的句柄。

    valueName:要讀取的項值名稱。

    以下實例實現對“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”項的操作。

    Python代碼??
  • >>>?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)???#?返回項的子項數目、項值數目,以及最后一次修改時間??
  • ?
    4.設置項值

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

    Python代碼??
  • 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”項值數據。

    Python代碼??
  • #?將“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet?Explorer”??
  • 的默認值設為python??
  • >>>?win32api.RegSetValue(key,'',win32con.REG_SZ,'python')??
  • #?將其“Version”設置為7.0.2900.2180??
  • >>>?win32api.RegSetValueEx(key,'Version',0,win32con.REG_SZ,'7.0.2900.2180')??
  • ?
    5.添加、刪除項

    要向注冊表中添加項可以使用RegCreateKey函數。RegDeleteKey函數可以刪除注冊表中的項。其參數原型分別如下所示。

    Python代碼??
  • RegCreateKey(key,?subKey?)??
  • RegDeleteKey?(key,?subKey?)??
  • ?其參數含義相同,參數含義分別如下。

    key:已經打開的注冊表項的句柄。

    subKey:所要操作(添加或刪除)的子項。

    以下的實例實現對“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”項的添加、刪除子項操作。

    Python代碼??
  • #?向“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet?Explorer”添加子項“Python”??
  • >>>?win32api.RegCreateKey(key,'Python')??
  • ??#?新創建的子項的句柄??
  • #?刪除剛才創建的子項“Python”??
  • >>>?win32api.RegDeleteKey(key,'Python') ?
  • 總結

    以上是生活随笔為你收集整理的使用Python操作注册表的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。