このページでは、レジストリ関係の API の簡単な使用方法と その使用例を示している。
※このページに記述されている内容を利用する前に 必ずここを読むこと。
レジストリからのデータ取得は以下の手順で行う。
RegOpenKeyEx()
により、
取得したいデータの上にあるサブキーをオープンする。
RegQueryValueEx()
により
データのサイズを求め、データの取得領域を確保する。
RegQueryValueEx()
によりデータを取得する。
RegCloseKey()
によりサブキーをクローズする。
レジストリへのデータ設定は以下の手順で行う。
RegOpenKeyEx()
により、
データを設定したいデータの上にあるサブキーをオープンする。
RegSetValueEx()
によりデータを設定する。
RegCloseKey()
によりサブキーをクローズする。
任意のサブキー下にあるレジストリデータの保存は以下の手順で行う。
RegOpenKeyEx()
により、
保存したいサブキーをオープンする。
RegSaveKey()
によりデータを保存する。
RegCloseKey()
によりサブキーをクローズする。
任意のサブキー下へのレジストリデータの復元は以下の手順で行う。
RegOpenKeyEx()
により、
データを復元したいサブキーをオープンする。
RegRestoreKey()
によりデータを復元する。
RegCloseKey()
によりサブキーをクローズする。
レジストリ階層のトップであるローカルおよびリモートの HKEY_USERS と HKEY_LOCAL_MACHINE の直下へは 任意のハイブのロードを行うことができる。 たとえばふつうは、システム起動時には 以下の5個のハイブがロードされる。
一方、ユーザログオン時には以下のハイブがロードされる。
ログオンユーザのユーザプロファイルハイブを特定するには、
まず、そのユーザの SID を知らなければならない。
一般的には、あるユーザのログオン中に HKEY_USERS の下に
.Default 以外にサブキーが 1 個しかなければ、
そのサブキーが SID を示す (たとえば著者の自宅マシンでの SID は
S-1-5-21-9395636-2047547207-2009219921-1000
である)。
次に、以下のサブキー
-------------------------------- HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList\ --------------------------------の下のサブキーから、ユーザの SID と同じ名前のついたサブキーを見つけ、 そこにある値
ProfileImagePath
を見る。
この値のデータが求めるユーザのプロファイルハイブファイル名である。
ひとたびロードされたハイブファイルは、 他のプロセスからアクセスできないようになっている。 ハイブを操作する API がいくつか用意されている。
レジストリハイブのロードは以下の手順で行う。
RegLoadKey()
によりハイブをロードする。
レジストリハイブのアンロードは以下の手順で行う。
RegUnLoadKey()
によりハイブをアンロードする。
レジストリハイブの置換は以下の手順で行う。
RegReplaceKey()
によりハイブの置換を準備する。
API | 説明 |
---|---|
レジストリサブキーに対する操作 | |
RegCloseKey | レジストリサブキーをクローズする。 |
RegConnectRegistry | リモートマシンのレジストリに接続する。 |
RegCreateKey | レジストリサブキーを作成する。 |
RegCreateKeyEx | レジストリサブキーを作成する。 |
RegDeleteKey | レジストリサブキーを削除する。 |
RegGetKeySecurity | レジストリサブキーのセキュリティ情報を取得する。 |
RegNotifyChangeKeyValue | レジストリサブキーや値の変更通知を受ける。 |
RegOpenKey | レジストリサブキーをオープンする。 |
RegQueryInfoKey | レジストリサブキーの情報を取得する。 |
RegSetKeySecurity | レジストリサブキーのセキュリティ情報を設定する。 |
RegRestoreKey | レジストリサブキーを復元する。 |
RegSaveKey | レジストリサブキーを保存する。 |
レジストリ値に対する操作 | |
RegDeleteValue | レジストリ値を削除する。 |
RegEnumValue | レジストリ値を列挙する。 |
RegQueryValue | レジストリ値のデータを取得する。 |
RegQueryMultipleValues | レジストリ値の複数のデータを一度に取得する。 |
RegQueryValueEx | レジストリ値のデータを取得する。 |
RegSetValue | レジストリ値を設定する。 |
RegSetValueEx | レジストリ値を設定する。 |
レジストリハイブに対する操作 | |
RegFlushKey | レジストリサブキーの内容をハイブファイルと同期させる。 |
RegLoadKey | レジストリハイブをロードする。 |
RegReplaceKey | レジストリハイブを置換する。 |
RegUnloadKey | レジストリハイブをアンロードする。 |