Python操作レジストリの詳細手順の説明

4110 ワード

Python操作レジストリ手順の1.レジストリを開く
に対する拘束が不十分です.Pythonでは、RegOpenKeyとRegOpenKeyExの2つの関数を使用できます.その関数プロトタイプはそれぞれ次のようになります.
RegOpenKey(key, subKey , reserved , sam)RegOpenKeyEx (key, subKey , reserved , sam)
2つの関数のパラメータは同じです.パラメータの意味は次のとおりです.
key:テーブル10-1にリストされている項目でなければなりません.
subKey:開くサブアイテム.
reserved:0でなければなりません.
sam:win 32 conを含む開いたサブアイテムの操作.KEY_ALL_ACCESS、win32con.KEY_READ、win32con. KEY_WRITEなど.
次の例では、レジストリ「HKEY_CURRENT_USERSoftware」アイテムを開きます.

>>> 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)
そのパラメータは1つだけで、その意味は以下の通りです.
key:すでに開いているレジストリ・アイテム.
次の例では、開いているレジストリ・アイテムを閉じます.
#先ほど開いたレジストリ・アイテムを閉じます
>>> win32api.RegCloseKey(key)
>>> print key
Python操作レジストリステップの3.アイテム値の読み出し
レジストリ・アイテムを開くと、RegQueryValue関数を使用してアイテムのデフォルト値を読み込むことができます.値を読み込む場合は、RegQueryValue Ex関数を使用します.その関数プロトタイプはそれぞれ次のようになります.
RegQueryValue(key, subKey )RegQueryValueEx(key, valueName )
RegQueryValueの場合、そのパラメータの意味は次のとおりです.
key:開いているレジストリ・アイテムのハンドル.
subKey:操作するサブアイテム.
RegQueryValue Exの場合、そのパラメータの意味は以下のとおりです.
key:すでに開いているレジストリ・アイテムのハンドル.
valueName:読み込むアイテムの値の名前.
次の例では、「HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet 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)
RegSetValueExのパラメータの意味は次のとおりです.
key:設定するアイテムのハンドル.
valueName:設定するアイテム値の名前.
reserved:保持、0に設定できます.
type:アイテム値のタイプ.
value:設定する値.
RegSetValueのパラメータの意味は次のとおりです.
key:すでに開いているアイテムのハンドル.
subKey:設定するサブアイテム.
type:アイテム値のタイプはwin 32 conでなければなりません.REG_SZ.
value:アイテム値データ、文字列.
以下の例では、「HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet Explorer」のデフォルト値と、その「Version」のアイテム値データを変更します.

#  “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') 

Python操作レジストリ手順の5.項目の追加、削除
レジストリにアイテムを追加するには、RegCreateKey関数を使用します.RegDeleteKey関数は、レジストリ内のアイテムを削除します.そのパラメータプロトタイプはそれぞれ以下の通りです.
RegCreateKey(key, subKey )RegDeleteKey (key, subKey )
そのパラメータの意味は同じで、パラメータの意味はそれぞれ以下の通りです.
key:すでに開いているレジストリ・アイテムのハンドル.
subKey:操作(追加または削除)するサブアイテム.
以下の例では、「HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet Explorer」項目の追加、削除を実行します.

#  “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet 
Explorer”    “Python” 
>>> win32api.RegCreateKey(key,'Python')  
#          #          “Python” 
>>> win32api.RegDeleteKey(key,'Python') 

以上、Pythonの操作レジストリに関する応用方法を詳しく紹介しました.