.NET TIPS レジストリの値を列挙するには?[C#、VB]デジタルアドバンテージ 一色 政彦2007/09/13 |
![]() |
「TIPS:レジストリのキーを列挙するには?」では、Windowsレジストリ(以降、レジストリ)でレジストリ・キー(以降、キー)を列挙する方法を紹介した。今回はこれに引き続き、キーの中に格納されているレジストリ値を列挙する方法を紹介する。
レジストリ値の名前を列挙する方法
レジストリ値を列挙する場合、レジストリ値の「名前」と「データ」の両方を取得することが考えられる。しかし、レジストリ値の名前さえ分かれば、レジストリ値のデータは「TIPS:レジストリの値を取得するには?」と同じ方法で取得できる(※レジストリ値のデータを取得する際にはデータ型に注意しなければならない。参考:「TIPS:レジストリの値のデータ型を判別するには?」「TIPS:レジストリの値のデータ型を明示的に識別・設定するには?」)。従って本稿では、レジストリ値の名前を列挙する方法のみを説明する。
レジストリ値の名前を列挙するには、RegistryKeyクラス(Microsoft.Win32名前空間)が持つGetValueNamesメソッド(パラメータなし)を利用すればよい。ただし、このメソッドを呼び出すには、RegistryKeyクラスのオブジェクトが必要である。
RegistryKeyオブジェクトを取得するには、まず、Registryクラス(Microsoft.Win32名前空間)の静的フィールドであるLocalMachineフィールドやCurrentUserフィールドを利用して適切な基本RegistryKeyオブジェクトを作成する。
次に、この基本RegistryKeyオブジェクトが持つOpenSubKeyメソッドを、開きたいレジストリのキーのパス名をパラメータに指定して呼び出す(この際のパス名は「HKEY_LOCAL_MACHINE」などのルート名を省略して「SOFTWARE\Microsoft\.NETFramework」のようにする必要がある)。これにより、開きたいキーに対応したRegistryKeyオブジェクトが取得できる。
あとは、いま取得したRegistryKeyオブジェクトが持つGetValueNamesメソッドを呼び出すと、そのキーに含まれるすべてのレジストリ値の名前が、文字列配列型の戻り値として取得できるというわけだ。
以上の処理を実装したコード例を次に示す。
|
||
| レジストリ値の名前を列挙するコンソール・アプリケーションのサンプル・プログラム(上:C#、下:VB) |
開いたキーを閉じるため、RegistryKeyオブジェクトのCloseメソッドを呼び出すことを忘れないようにしてほしい。![]()
| カテゴリ:クラス・ライブラリ 処理対象:レジストリ 使用ライブラリ:Registryクラス(Microsoft.Win32名前空間) 使用ライブラリ:RegistryKeyクラス(Microsoft.Win32名前空間) 関連TIPS:レジストリの値を取得するには? 関連TIPS:レジストリの値を設定するには? 関連TIPS:レジストリのキーを列挙するには? 関連TIPS:レジストリの値のデータ型を判別するには? 関連TIPS:レジストリの値のデータ型を明示的に識別・設定するには? |
|
||||||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


