Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > win32/registryライブラリ > Win32::Registryクラス

class Win32::Registry

クラスの継承リスト: Win32::Registry < Enumerable < Win32::Registry::Constants < Object < Kernel < BasicObject

Abstract

特異メソッド

create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)
create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下にキー subkey を作成し, 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

サブキーが既に存在していればキーはただ開かれ,[[unknown:created?|Win32::Registry/created?]] メソッドが false を返します。

ブロックが与えられると,キーは自動的に閉じられます。

expand_environ(str)

str の %\w+% という並びを環境変数に置換します。 REG_EXPAND_SZ で用いられます。

詳細は [[unknown:ExpandEnvironmentStrings|URL:http://msdn.microsoft.com/library/en-us/sysinfo/base/expandenvironmentstrings.asp]] Win32 API を参照してください。

new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下のキー subkey を開き, 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

desired はアクセスマスクです。opt はキーのオプションです。 詳細は [[unknown:MSDN Library|URL:http://msdn.microsoft.com/library/en-us/sysinfo/base/registry_key_security_and_access_rights.asp]] を参照してください。

ブロックが与えられると,キーは自動的に閉じられます。

time2wtime(time)

Time オブジェクトまたは Integer オブジェクトを受け取り, 64bit の FILETIME に変換します。

type2name(type)

レジストリ値の型を整数から可読文字列に変換します。

wtime2time(wtime)

64bit の [[unknown:FILETIME|URL:http://msdn.microsoft.com/library/en-us/sysinfo/base/filetime_str.asp]] を Time オブジェクトに変換します。

インスタンスメソッド

self[name, wtype = nil]

レジストリ値 name に value を書き込みます。

オプション引数 wtype を指定した場合は,その型で書き込みます。 指定しなかった場合,value のクラスに応じて次の型で書き込みます:

  • Integer REG_DWORD
  • String REG_SZ
  • Array REG_MULTI_SZ
self[name, rtype] = value = nil
_dump
close

開かれているキーを閉じます。

閉じられた後では,多くのメソッドは例外を発生します。

create(subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)

Win32::Registry.create(self, subkey, desired, opt) と同じです。

created?

キーが新しく作成された場合,真を返します。 (⇒Win32::Registry.create)

delete(name)
delete_value(name)

レジストリ値 name を削除します。 (標準) レジストリ値を削除することはできません。

delete_key(name, recursive = false)

サブキー name とそのキーが持つすべての値を削除します。

recursive が false の場合,そのサブキーはサブキーを持っていてはなりません。 true の場合,キーは再帰的に削除されます。

num_keys
max_key_length
num_values
max_value_name_length
max_value_length
descriptor_length
wtime

キー情報の個々の値を返します。

disposition

キーの disposition 値を返します。 (REG_CREATED_NEW_KEY または REG_OPENED_EXISTING_KEY)

each {|name, type, value| ... }
each_value {|name, type, value| ... }

キーが持つレジストリ値を列挙します。

each_key {|subkey, wtime| ... }

キーのサブキーを列挙します。

subkey はサブキーの名前を表す String です。 wtime は最終更新時刻を表す FILETIME (64-bit 整数) です。 (⇒Win32::Registry.wtime2time)

flush

キーの全てのデータをレジストリファイルに書き込みます。

hkey
info

キー情報を以下の値の配列で返します:

  • num_keys サブキーの個数
  • max_key_length サブキー名の最大長
  • num_values 値の個数
  • max_value_name_length 値の名前の最大長
  • max_value_length 値の最大長
  • descriptor_length セキュリティ記述子の長さ
  • wtime 最終更新時刻 (FILETIME)

詳細は [[unknown:RegQueryInfoKey|URL:http://msdn.microsoft.com/library/en-us/sysinfo/base/regqueryinfokey.asp]] Win32 API を参照してください。

inspect
keyname

Win32::Registry.open または Win32::Registry.create に指定された subkey の値を返します。

keys
name
to_s

キーのフルパスを 'HKEY_CURRENT_USER\SOFTWARE\foo\bar' のような形で返します。

open(subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)

Win32::Registry.open(self, subkey, desired, opt) と同じです。

open?
opened?

キーがまだ閉じられていない場合,真を返します。

parent

親のキーを表す Win32::Registry オブジェクトを返します。 定義済キーでは nil を返します。

read(name, *rtype)

レジストリ値 name を読み,[ type, data ] の配列で返します。 name が nil の場合,(標準) レジストリ値が読み込まれます。

type はレジストリ値の型です。(⇒[[unknown:Registry::Constants module|Win32::Registry/Registry::Constants module]]) data はレジストリ値のデータで,クラスは以下の通りです:

  • REG_SZ, REG_EXPAND_SZ String
  • REG_MULTI_SZ String の配列
  • REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_QWORD Integer
  • REG_BINARY String (バイナリデータを含みます)

オプション引数 rtype が指定されていた場合,レジストリ値の型が 与えられた rtype の配列に存在するかチェックされ,存在しない場合に TypeError が発生します。

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 はレジストリ値の型です。(⇒[[unknown:Registry::Constants module|Win32::Registry/Registry::Constants module]]) data のクラスは [[unknown:read|Win32::Registry/read]] メソッドに準じていなければなりません。

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) です。

定数

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

それぞれの定義済キーを表す Win32::Registry オブジェクトです。 詳細は [[unknown:MSDN Library|URL:httphttp://msdn.microsoft.com/library/en-us/sysinfo/base/predefined_keys.asp]] を参照してください。

Methods

Classes