Windows Registry

(Windowsレジストリ)


Windowsのレジストリに関するメモ

Windows Registryのメモ
レジストリ(Registry)はWindowsの基本情報やソフトウェアの拡張情報が保存される場所を示す。
Windows95,WindowsNT以降で用いられる内部データベースであり、INIファイルに置き換わる物として開発された。 

 

歴史的経緯
Windows3.1までは、OSの各種設定情報はINIファイル等の個別の設定ファイルに保持されていた。
しかしこの方法では大量の設定項目を処理するには非効率的であるためデータベースとして一括で管理するレジストリという仕組みが用いられるようになった。
レジストリ自体はWindows3.1の頃から存在していたが、関連づけやOLE情報などの小規模な利用にとどまっていた。
レジストリの編集はレジストリエディタ(regedit.exe)の仕様により、手動での編集が可能である。
 

内部構造
regedit.exeから見ると次の5つのハイブが確認できる。

HKEY_CLASSES_ROOT
(拡張子の関連付けとHKEY_LOCAL_MACHINE\Software\CLASSESのミラー)
HKEY_CURRENT_USER
(HKEY_USERSの情報の中から、現在ログオンしているユーザーの設定)
HKEY_LOCAL_MACHINE
(全てのユーザーに適用されるハードウェア情報、設定情報)
HKEY_USERS
(ユーザ個別の設定情報)
HKEY_CURRENT_CONFIG
(ハードウェア プロファイルに関する情報)   


Windowsはマルチユーザ環境を実現する為にハイブHKEY_USERSにはユーザー毎にキーが設定されており、ログインしたユーザのキーをハイブHKEY_CURRENT_USERへとコピーする。
ユーザーのログイン中は、HKEY_CURRENT_USERキー内の情報のみが参照・変更され、HEKY_USERSキーの保管されている他のユーザーの情報は一切その影響を受けない。
ユーザーのログオフ時には、カレントユーザーの変更した情報はHEKY_USERハイブ以下のユーザーのキーへと格納される。

 

HKEY_CURRENT_USERの構造

HKEY_CURRENT_USER

WindowsVistaからキーの命名規則が若干変更されており基本的にキーの先頭は大文字となっている。

AppEvents Windowsの実行中のイベントを受け再生するサウンドの設定
Console
Control Panel コントロールパネルから設定変更できる情報
InstallLocationMRU アプリケーションのインストール実行時に使用される。Vistaでは廃止か?
Keyboard Layout キーボードに関する設定情報
Network ネットワークに関する情報
Printers プリンタに関する情報
RemoteAccess リモートアクセスを実行する際の情報
SessionInformation
Software 各種アプリケーションの情報が格納されている。