方法 : Visual Basic でレジストリ キーの値を設定する
更新 : 2007 年 11 月
Windows レジストリの値を書き込むために、My.Computer.Registry オブジェクトの SetValue メソッドを使用できます。レジストリには、データを格納するために使用されるキーが、最上位またはルートに保持されます。たとえば、HKEY_LOCAL_MACHINE ルート キーは、すべてのユーザーに使用されるマシン レベルの設定を格納するために使用されます。HKEY_CURRENT_USER は、個々のユーザー固有のデータを格納するために使用されます。
完全なキーのパスが含まれる値が存在しない場合、作成されます。
手順
レジストリ キーに値を書き込むには
SetValue メソッドを使用して、キーおよび値を指定します。この例では、Name の値を、HKEY_CURRENT_USER\Software\TestApp キーの "著者名" に設定します。
My.Computer.Registry.SetValue _ ("HKEY_CURRENT_USER\Software\TestApp", "Name", "Author's Name")
このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [Windows オペレーティング システム > Registry] にあります。詳細については、「方法 : コードにスニペットを挿入する (Visual Basic)」を参照してください。
堅牢性の高いプログラム
ユーザー設定データが Microsoft.Win32.Registry.CurrentUser ハイブに書き込まれます。
レジストリ キーがアクセス制御リスト (ACL: Access Control List) によって保護されていても、パスワードなどの秘密のデータをプレーン テキストでレジストリに格納するのは危険です。
次の条件を満たす場合は、例外が発生する可能性があります。
キーの名前が Nothing (ArgumentNullException) である場合。
キー名が 255 文字の制限を超えている場合 (ArgumentException)
このハイブは無効 (ArgumentException) です。
キーが閉じている場合 (IOException)
パスが無効 (IOException) です。
レジストリ キーが読み取り専用の場合 (UnauthorizedAccessException)
セキュリティ
このプロセスを実行するには、アセンブリに対して RegistryPermission クラスで権限レベルが許可されている必要があります。完全には信頼できないコンテキストでプロセスを実行している場合は、権限不足のため例外がスローされることがあります。同様に、設定の作成または書き込みを行うために、ユーザーは正しい ACL を持っている必要があります。たとえば、コード アクセス セキュリティ権限のあるローカル アプリケーションに、オペレーティング システム権限があるとは限りません。詳細については、「コード アクセス セキュリティの基礎」を参照してください。
参照
処理手順
方法 : Visual Basic で、レジストリ キーから値を読み取る