Windows のレジストリを読み書きするサンプルを書いてみた

ここのところ PythonJava ばかり触っています。たまには .NET の記事も書かないと怒られそうです。誰に怒れられるのかはわかりませんけど。

.NET のネタが無いか考えていたら、Windows のレジストリ操作が必要な場面に遭遇したので、読み書きを行うサンプルコードを .NET で書いてみました。

# -*- coding: utf-8 -*-

# Microsoft.Win32 名前空間にある Registry クラスを使う
from Microsoft.Win32 import *

def get_reg_value(path, key):
    rKey = Registry.LocalMachine.OpenSubKey(path) #キーを開く
    value = rKey.GetValue(key) # キーから値を取り出す
    rKey.Close()
    return value

def set_reg_value(path, key, value):
    rKey = Registry.LocalMachine.CreateSubKey(path) #キーを開く(無ければ作成)
    rKey.SetValue(key, value)
    rKey.Close()

# レジストリに書き込む
set_reg_value("SOFTWARE\\Griefworker\\Sample", "AppName", "Foo")

# レジストリから値を取得
value = get_reg_value("SOFTWARE\\Griefworker\\Sample", "AppName")
print(value) #=> Foo

.NET といっても IronPython ですけどね。