RegistryKeyとは? わかりやすく解説

RegistryKey クラス

Windows レジストリキー レベル ノード表します。このクラスレジストリカプセル化ます。

名前空間: Microsoft.Win32
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public NotInheritable Class
 RegistryKey
    Inherits MarshalByRefObject
    Implements IDisposable
[ComVisibleAttribute(true)] 
public sealed class RegistryKey : MarshalByRefObject,
 IDisposable
[ComVisibleAttribute(true)] 
public ref class RegistryKey sealed : public
 MarshalByRefObject, IDisposable
/** @attribute ComVisibleAttribute(true) */ 
public final class RegistryKey extends MarshalByRefObject
 implements IDisposable
ComVisibleAttribute(true) 
public final class RegistryKey extends
 MarshalByRefObject implements IDisposable
解説解説

RegistryKeyインスタンス取得するには、Registry クラス静的メンバ1 つ使用します

レジストリは、オペレーティング システムコンピュータ上のアプリケーション情報格納した中央リポジトリとして機能しますレジストリは、レジストリ格納されている要素論理的な順序基づいて階層形式で編成されています。ベース レベルの項目については、Registryトピック参照してください情報レジストリ格納するときは、この情報タイプ基づいて適切な位置選択します。他のアプリケーションにより作成され情報壊さないように注意してください情報壊れると、予測できない動作アプリケーションが行ったり、作成したアプリケーション悪影響受けたりする可能性あります

レジストリ キーは、レジストリ基本編成単位です。Windows エクスプローラフォルダ該当しますキーはサブキーを持つことができますが、これはフォルダサブフォルダを持つことができるのと同様です。各キー削除できますが、削除するためには、適切なアクセス許可ユーザー設定されている必要があります。なお、基本キーおよび基本キー直下置かれているキー削除できません。また、キーには、複数の値を関連付けることができます。値はファイル該当するものであり、情報 (たとえば、コンピュータインストールされているアプリケーションに関する情報) を格納するために使用しますそれぞれの値は特定の情報格納しており、必要に応じてこの情報取得した更新したできます。たとえば、HKEY_LOCAL_MACHINE\Software キーの下に会社RegistryKey作成し会社作成するアプリケーションを表すサブキーを作成できます。各サブキーは、カラー設定画面位置サイズ認識されるファイル拡張子など、各アプリケーション固有の情報保持します

レジストリ格納されている情報は、他のアプリケーションユーザー使用できるため、レジストリにはセキュリティ関連データ重要なアプリケーション情報格納しないでください

注意に関するメモ注意

悪意のあるプログラムによって無効なサブキーと値、またはキーと値のペアが無数に作成されるような方法では、RegistryKey オブジェクト公開しないください。たとえば、呼び出し元が任意のキーまたは値を入力できるようにしないでください

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : .NET Compact Framework アプリケーションでは、サブキーを削除する前に、このサブキーおよびその子サブキーの開いているすべてのインスタンス明示的に閉じる必要がありますWindows CE によって決定されるサブキーの深さ最大値15 です。

使用例使用例

HKEY_CURRENT_USER の下にサブキーを作成しその内容操作しその後にサブキーを削除する方法次のコード例示します

Imports Microsoft.VisualBasic
Imports System
Imports System.Security.Permissions
Imports Microsoft.Win32

<Assembly: RegistryPermissionAttribute( _
    SecurityAction.RequestMinimum, ViewAndModify := "HKEY_CURRENT_USER")>

Public Class RegKey
    Shared Sub Main()
    
        ' Create a subkey named Test9999 under HKEY_CURRENT_USER.
        Dim test9999 As RegistryKey = _
            Registry.CurrentUser.CreateSubKey("Test9999")

        ' Create two subkeys under HKEY_CURRENT_USER\Test9999.
        test9999.CreateSubKey("TestName").Close()
        Dim testSettings As RegistryKey = _
            test9999.CreateSubKey("TestSettings")

        ' Create data for the TestSettings subkey.
        testSettings.SetValue("Language", "French")
        testSettings.SetValue("Level", "Intermediate")
        testSettings.SetValue("ID", 123)
        testSettings.Close()

        ' Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under Test9999.",
 _
            test9999.SubKeyCount.ToString())
        For Each subKeyName As
 String In test9999.GetSubKeyNames()
            Dim tempKey As RegistryKey = _
                test9999.OpenSubKey(subKeyName)
            Console.WriteLine(vbCrLf & "There are {0} values
 for " & _
                "{1}.", tempKey.ValueCount.ToString(),
 tempKey.Name)
            For Each valueName As
 String In tempKey.GetValueNames()
                Console.WriteLine("{0,-8}: {1}", valueName,
 _
                    tempKey.GetValue(valueName).ToString())
            Next
        Next

        ' Delete the ID value.
        testSettings = test9999.OpenSubKey("TestSettings",
 True)
        testSettings.DeleteValue("id")

        ' Verify the deletion.
        Console.WriteLine(CType(testSettings.GetValue( _
            "id", "ID not found."),
 String))
        testSettings.Close()

        ' Delete or close the new subkey.
        Console.Write(vbCrLf & "Delete newly created "
 & _
            "registry key? (Y/N) ")
        If Char.ToUpper(Convert.ToChar(Console.Read()))
 = "Y"C Then
            Registry.CurrentUser.DeleteSubKeyTree("Test9999")
            Console.WriteLine(vbCrLf & "Registry key {0} deleted.",
 _
                test9999.Name)
        Else
            Console.WriteLine(vbCrLf & "Registry key {0} closed.",
 _
                test9999.ToString())
            test9999.Close()
        End If
   
    End Sub
End Class
using System;
using System.Security.Permissions;
using Microsoft.Win32;

[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum,
    ViewAndModify = "HKEY_CURRENT_USER")]

class RegKey
{
    static void Main()
    {
        // Create a subkey named Test9999 under HKEY_CURRENT_USER.
        RegistryKey test9999 = 
            Registry.CurrentUser.CreateSubKey("Test9999");
        // Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        // keys are disposed when execution exits the using statement.
        using(RegistryKey 
            testName = test9999.CreateSubKey("TestName"),
            testSettings = test9999.CreateSubKey("TestSettings"))
        {
            // Create data for the TestSettings subkey.
            testSettings.SetValue("Language", "French");
            testSettings.SetValue("Level", "Intermediate");
            testSettings.SetValue("ID", 123);
        }

        // Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under {1}.", 
            test9999.SubKeyCount.ToString(), test9999.Name);
        foreach(string subKeyName in
 test9999.GetSubKeyNames())
        {
            using(RegistryKey 
                tempKey = test9999.OpenSubKey(subKeyName))
            {
                Console.WriteLine("\nThere are {0} values for
 {1}.", 
                    tempKey.ValueCount.ToString(), tempKey.Name);
                foreach(string valueName in
 tempKey.GetValueNames())
                {
                    Console.WriteLine("{0,-8}: {1}", valueName, 
                        tempKey.GetValue(valueName).ToString());
                }
            }
        }

        using(RegistryKey 
            testSettings = test9999.OpenSubKey("TestSettings", true))
        {
            // Delete the ID value.
            testSettings.DeleteValue("id");

            // Verify the deletion.
            Console.WriteLine((string)testSettings.GetValue(
                "id", "ID not found."));
        }

        // Delete or close the new subkey.
        Console.Write("\nDelete newly created registry key? (Y/N) ");
        if(Char.ToUpper(Convert.ToChar(Console.Read())) == 'Y')
        {
            Registry.CurrentUser.DeleteSubKeyTree("Test9999");
            Console.WriteLine("\nRegistry key {0} deleted.", 
                test9999.Name);
        }
        else
        {
            Console.WriteLine("\nRegistry key {0} closed.", 
                test9999.ToString());
            test9999.Close();
        }
    }
}
using namespace System;
using namespace System::Security::Permissions;
using namespace Microsoft::Win32;

[assembly:RegistryPermissionAttribute(SecurityAction::RequestMinimum,
ViewAndModify="HKEY_CURRENT_USER")];
int main()
{
   // Create a subkey named Test9999 under HKEY_CURRENT_USER.
   RegistryKey ^ test9999 = Registry::CurrentUser->CreateSubKey( "Test9999"
 );

   // Create two subkeys under HKEY_CURRENT_USER\Test9999.
   test9999->CreateSubKey( "TestName" )->Close();
   RegistryKey ^ testSettings = test9999->CreateSubKey( "TestSettings"
 );

   // Create data for the TestSettings subkey.
   testSettings->SetValue( "Language", "French" );
   testSettings->SetValue( "Level", "Intermediate" );
   testSettings->SetValue( "ID", 123 );
   testSettings->Close();

   // Print the information from the Test9999 subkey.
   Console::WriteLine( "There are {0} subkeys under Test9999.", test9999->SubKeyCount.ToString()
 );
   array<String^>^subKeyNames = test9999->GetSubKeyNames();
   for ( int i = 0; i < subKeyNames->Length;
 i++ )
   {
      RegistryKey ^ tempKey = test9999->OpenSubKey( subKeyNames[ i ] );
      Console::WriteLine( "\nThere are {0} values for {1}.",
 tempKey->ValueCount.ToString(), tempKey->Name );
      array<String^>^valueNames = tempKey->GetValueNames();
      for ( int j = 0; j < valueNames->Length;
 j++ )
      {
         Console::WriteLine( "{0,-8}: {1}", valueNames[ j ], tempKey->GetValue(
 valueNames[ j ] )->ToString() );

      }
   }
   
   // Delete the ID value.
   testSettings = test9999->OpenSubKey( "TestSettings", true
 );
   testSettings->DeleteValue( "id" );

   // Verify the deletion.
   Console::WriteLine( dynamic_cast<String^>(testSettings->GetValue(  "id",
 "ID not found." )) );
   testSettings->Close();

   // Delete or close the new subkey.
   Console::Write( "\nDelete newly created registry key? (Y/N) " );
   if ( Char::ToUpper( Convert::ToChar( Console::Read() ) ) ==
 'Y' )
   {
      Registry::CurrentUser->DeleteSubKeyTree( "Test9999" );
      Console::WriteLine( "\nRegistry key {0} deleted.", test9999->Name
 );
   }
   else
   {
      Console::WriteLine( "\nRegistry key {0} closed.", test9999->ToString()
 );
      test9999->Close();
   }
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
    Microsoft.Win32.RegistryKey
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistryKey メンバ
Microsoft.Win32 名前空間
Registry クラス
RegistryHive 列挙

RegistryKey プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ ValueCount キーの値の数を取得します
参照参照

関連項目

RegistryKey クラス
Microsoft.Win32 名前空間
Registry クラス
RegistryHive 列挙

RegistryKey メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Close キー閉じキー内容変更されている場合ディスクフラッシュます。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド CreateSubKey オーバーロードされます新しいサブキーを作成するか、または既存のサブキーを開きます
パブリック メソッド DeleteSubKey オーバーロードされます指定したサブキーを削除します文字列 subkey では、大文字と小文字区別されません。
パブリック メソッド DeleteSubKeyTree サブキーとその子サブキーを再帰的削除します文字列 subkey では、大文字と小文字区別されません。
パブリック メソッド DeleteValue オーバーロードされます指定した値をこのキーから削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド Flush 指定したオープン レジストリ キーすべての属性をこのレジストリ書き込みます
パブリック メソッド GetAccessControl オーバーロードされます現在のレジストリ キーアクセス制御セキュリティ返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetSubKeyNames すべてのサブキーの名前が格納されている文字列配列取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetValue オーバーロードされます指定した前に関連付けられている値を取得します
パブリック メソッド GetValueKind 指定した前に関連付けられた値のレジストリ データ型取得します
パブリック メソッド GetValueNames このキー関連付けられているすべての値の名前が格納されている文字列配列取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド OpenRemoteBaseKey リモート コンピュータ上にある要求されキーを表す新しい RegistryKey を開きます
パブリック メソッド OpenSubKey オーバーロードされます指定したサブキーを取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド SetAccessControl 既存レジストリ キーWindows アクセス制御セキュリティ適用します。
パブリック メソッド SetValue オーバーロードされますレジストリ キーに名前/値ペアの値を設定しますオーバーロードに応じて格納するデータの型または指定した RegistryValueKind に基づいてレジストリ データ型判別されます
パブリック メソッド ToString オーバーライドされます。 このキー文字列形式取得します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose 現在のキーに対して Close実行します
参照参照

関連項目

RegistryKey クラス
Microsoft.Win32 名前空間
Registry クラス
RegistryHive 列挙

RegistryKey メンバ

Windows レジストリキー レベル ノード表します。このクラスレジストリカプセル化ます。

RegistryKey データ型公開されるメンバを以下の表に示します


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ ValueCount キーの値の数を取得します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Close キー閉じキー内容変更されている場合ディスクフラッシュます。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド CreateSubKey オーバーロードされます新しいサブキーを作成するか、または既存のサブキーを開きます
パブリック メソッド DeleteSubKey オーバーロードされます指定したサブキーを削除します文字列 subkey では、大文字と小文字区別されません。
パブリック メソッド DeleteSubKeyTree サブキーとその子サブキーを再帰的削除します文字列 subkey では、大文字と小文字区別されません。
パブリック メソッド DeleteValue オーバーロードされます指定した値をこのキーから削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド Flush 指定したオープン レジストリ キーすべての属性をこのレジストリ書き込みます
パブリック メソッド GetAccessControl オーバーロードされます現在のレジストリ キーアクセス制御セキュリティ返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetSubKeyNames すべてのサブキーの名前が格納されている文字列配列取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetValue オーバーロードされます指定した前に関連付けられている値を取得します
パブリック メソッド GetValueKind 指定した前に関連付けられた値のレジストリ データ型取得します
パブリック メソッド GetValueNames このキー関連付けられているすべての値の名前が格納されている文字列配列取得します
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド OpenRemoteBaseKey リモート コンピュータ上にある要求されキーを表す新しい RegistryKey を開きます
パブリック メソッド OpenSubKey オーバーロードされます指定したサブキーを取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド SetAccessControl 既存レジストリ キーWindows アクセス制御セキュリティ適用します。
パブリック メソッド SetValue オーバーロードされますレジストリ キーに名前/値ペアの値を設定しますオーバーロードに応じて格納するデータの型または指定した RegistryValueKind に基づいてレジストリ データ型判別されます
パブリック メソッド ToString オーバーライドされます。 このキー文字列形式取得します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose 現在のキーに対して Close実行します
参照参照

関連項目

RegistryKey クラス
Microsoft.Win32 名前空間
Registry クラス
RegistryHive 列挙



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「RegistryKey」の関連用語

RegistryKeyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RegistryKeyのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS