LoginSignup
12
11

More than 5 years have passed since last update.

Windowsレジストリについて色んな文献からチェリーピックしてまとめてみた。

Posted at

Windowsのレジストリについてまとめてみました。(まとまっている資料が少ない...。)
基本的に、以下の文献からつまみ食いしただけなので詳しく知りたいのなら直接見に行っちゃってください。

レジストリ (Registry) は、Microsoft社製のオペレーティングシステム(OS)で用いられている設定情報のデータベースです。
レジストリには、下記ようなWindowsが実行中に絶えず参照する情報が格納されます。

  • 各ユーザーに関するプロファイル
  • コンピューターにインストールされているアプリケーションおよび各アプリケーションで作成可能なドキュメントの種類
  • フォルダーおよびアプリケーション アイコンについてのプロパティ シート設定
  • システム上に存在するハードウェアの種類
  • および使用中のポート
  • ...など

一般的にレジストリの編集には下記の方法で行います。

  • レジストリ エディター (Regedit.exe または Regedt32.exe)
  • レジストリ (.reg) ファイル
  • VisualBasic スクリプト ファイルなどのスクリプト
  • regコマンド
  • グループ ポリシー
  • システム ポリシー
  • ...など

regedit.exeなどでレジストリを確認してみると大まかに5つのキーに分かれています。
次の表は、システムにより使用される定義済みキーの一覧です。キー名の最大サイズは、255文字です。

キー名 説明
HKEY_CURRENT_USER 現在ログオンしているユーザーの構成情報のルートが格納されています。
HKEY_USERS コンピューター上に読み込まれた有効なユーザー プロファイルがすべて格納されます。
HKEY_LOCAL_MACHINE コンピューターに固有の構成情報が格納されます。
HKEY_CLASSES_ROOT このキーは HKEY_LOCAL_MACHINE\Software のサブキーです。
HKEY_CURRENT_CONFIG システムの起動時にローカルコンピュータにより使用されるハードウェアプロファイルに関する情報が格納されます。

データ型

データ型名 データ型の種類 説明
REG_BINARY バイナリ値 生のバイナリ データ。
REG_RESOURCE_LIST バイナリ値 入れ子にされた一連の配列。
REG_RESOURCE_REQUIREMENTS_LIST バイナリ値 ネストされた一連の配列。
REG_FULL_RESOURCE_DESCRIPTOR バイナリ値 入れ子にされた一連の配列。
REG_DWORD DWORD値 4バイト長の数値 (32 ビット整数) で表されるデータ。
REG_EXPAND_SZ 文字列値 可変長のデータ文字列。
REG_MULTI_SZ 文字列値 複数行の文字列。
REG_SZ 文字列値 固定長のテキスト文字列。
REG_NONE なし 特定の型を持たないデータ。
REG_LINK リンク シンボリックリンクの名前を指定する Unicode 文字列。
REG_QWORD QWORD値 64ビット整数の数値で表されるデータ。

Component Object Model(COM)

COM の機能を利用するためには、 COM のクラス ID をレジストリに登録します。

COMコンポーネントをレジストリに登録する。

regsvr32 foo.dll

COMコンポーネントをレジストリの登録から解除する。

regsvr32 /u foo.dll

一般的に、COMコンポーネントを登録すると以下のようなレジストリが書き込まれます。

キー 値の名前
HKEY_CLASSES_ROOT\CLSID{GUID} (Default) 説明文
HKEY_CLASSES_ROOT\CLSID{GUID}\InprocServer32 (Default) DLL のパス
HKEY_CLASSES_ROOT\CLSID{GUID}\InprocServer32 ThreadingModel スレッディングモデル
HKEY_CLASSES_ROOT\CLSID{GUID}\ProgID (Default) プログラム識別子
HKEY_CLASSES_ROOT{プログラム識別子} (Default) 説明文
HKEY_CLASSES_ROOT{プログラム識別子}\CLSID (Default) {GUID}

Microsoft Windows Installer(MSI)

キー 説明
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer UserDataサブキー以下に、システムに存在するユーザーをテキスト形式のSIDで表したサブキーが列挙されている。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer Productsサブキー以下に、システムに存在する全ユーザーに対してインストールされた製品が列挙される。
HKEY_CURRENT_USER\Software\Microsoft\Installer Productsサブキー以下に、現在ログオンしているユーザーに対してインストールされた製品が列挙される。

まとめ

Windowsのレジストリを調べていくと最終的にCOMに辿りつきます。
なので、レジストリを直接調べるよりCOMを調べた方が早かったりします。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11