Registry.new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)Registry.new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) { |reg| ... }Registry.open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)Registry.open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) { |reg| ... }レジストリキー key 下のキー subkey を開き, 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒constants)
desired はアクセスマスクです。opt はキーのオプションです。 詳細は MSDN Library を参照してください。
ブロックが与えられると,キーは自動的に閉じられます。
Registry.create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)Registry.create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED) { |reg| ... }レジストリキー key 下にキー subkey を作成し, 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒constants)
サブキーが既に存在していればキーはただ開かれ,created?
メソッドが false を返します。
ブロックが与えられると,キーは自動的に閉じられます。
Registry.expand_environ(str)str の %\w+% という並びを環境変数に置換します。
REG_EXPAND_SZ で用いられます。
詳細は ExpandEnvironmentStrings Win32 API を参照してください。
Registry.type2name(type)レジストリ値の型を整数から可読文字列に変換します。
Registry.wtime2time(wtime)64bit の FILETIME を Time オブジェクトに変換します。
Registry.time2wtime(time)Time オブジェクトまたは Integer オブジェクトを受け取り, 64bit の FILETIME に変換します。
open(subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)Win32::Registry.open(self, subkey, desired, opt) と同じです。
create(subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)Win32::Registry.create(self, subkey, desired, opt) と同じです。
close開かれているキーを閉じます。
閉じられた後では,多くのメソッドは例外を発生します。
read(name, *rtype)レジストリ値 name を読み,[ type, data ] の配列で返します。 name が nil の場合,(標準) レジストリ値が読み込まれます。
type はレジストリ値の型です。(⇒Registry::Constants module) data はレジストリ値のデータで,クラスは以下の通りです:
String
String の配列
Integer
String (バイナリデータを含みます)
オプション引数 rtype が指定されていた場合,レジストリ値の型が 与えられた rtype の配列に存在するかチェックされ,存在しない場合に TypeError が発生します。
self[name, *rtype]レジストリ値 name を読み,その値を返します。クラスは
read に準じます。
レジストリ値の型が REG_EXPAND_SZ だった場合,環境変数が置換されます。 レジストリ値の型が REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_QWORD 以外だった場合は TypeError が発生します。
オプション引数 rtype の意味は read と同じです。
read_s(name)read_i(name)read_bin(name)型がそれぞれ REG_SZ(read_s), REG_DWORD(read_i), REG_BINARY(read_bin) であるレジストリ値 name を読み,その値を返します。
型がマッチしなかった場合,TypeError が発生します。
read_s_expand(name)型が REG_SZ または REG_EXPAND_SZ であるレジストリ値 name を読み, その値を返します。
型が REG_EXPAND_SZ だった場合,環境変数が置換された値が返ります。 REG_SZ または REG_EXPAND_SZ 以外だった場合,TypeError が発生します。
write(name, type, data)レジストリ値 name に型 type で data を書き込みます。 name が nil の場合,(標準) レジストリ値に書き込みます。
type はレジストリ値の型です。(⇒Registry::Constants module)
data のクラスは read
メソッドに準じていなければなりません。
self[name, wtype = nil] = valueレジストリ値 name に value を書き込みます。
オプション引数 wtype を指定した場合は,その型で書き込みます。 指定しなかった場合,value のクラスに応じて次の型で書き込みます:
write_s(name, value)write_i(name, value)write_bin(name, value)レジストリ値 name に value を書き込みます。
レジストリ値の型はそれぞれ REG_SZ(write_s), REG_DWORD(write_i), REG_BINARY(write_bin) です。
each { |name, type, value| ... }each_value { |name, type, value| ... }キーが持つレジストリ値を列挙します。
each_key { |subkey, wtime| ... }キーのサブキーを列挙します。
subkey はサブキーの名前を表す String です。
wtime は最終更新時刻を表す FILETIME (64-bit 整数) です。
(⇒Registry.wtime2time)
delete(name)delete_value(name)レジストリ値 name を削除します。 (標準) レジストリ値を削除することはできません。
delete_key(name, recursive = false)サブキー name とそのキーが持つすべての値を削除します。
recursive が false の場合,そのサブキーはサブキーを持っていてはなりません。 true の場合,キーは再帰的に削除されます。
flushキーの全てのデータをレジストリファイルに書き込みます。
created?キーが新しく作成された場合,真を返します。
(⇒Registry.create)
opened?キーがまだ閉じられていない場合,真を返します。
parent親のキーを表す Win32::Registry オブジェクトを返します。 定義済キーでは nil を返します。
keynameRegistry.open または Registry.create に指定された
subkey の値を返します。
dispositionキーの disposition 値を返します。 (REG_CREATED_NEW_KEY または REG_OPENED_EXISTING_KEY)
nameto_sキーのフルパスを 'HKEY_CURRENT_USER\SOFTWARE\foo\bar'
のような形で返します。
infoキー情報を以下の値の配列で返します:
サブキーの個数
サブキー名の最大長
値の個数
値の名前の最大長
値の最大長
セキュリティ記述子の長さ
最終更新時刻 (FILETIME)
詳細は RegQueryInfoKey Win32 API を参照してください。
num_keysmax_key_lengthnum_valuesmax_value_name_lengthmax_value_lengthdescriptor_lengthwtimeキー情報の個々の値を返します。
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_CURRENT_CONFIGHKEY_DYN_DATAそれぞれの定義済キーを表す Win32::Registry オブジェクトです。 詳細は MSDN Library を参照してください。
詳細は MSDN Library を参照してください。
HKEY_*定義済キー値. これらは Integer で,Win32::Registry オブジェクトではありません。
REG_*レジストリ値の型
KEY_*セキュリティアクセスマスク
KEY_OPTIONS_*キーオプション
REG_CREATED_NEW_KEYREG_OPENED_EXISTING_KEYキーが新しく作られたか,既存キーが開かれたか。
disposition メソッドも参照してください。