C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

レジストリのサブキーの存在確認の方法

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■95504 / inTopicNo.1)  レジストリのサブキーの存在確認の方法
  
□投稿者/ 直 (1回)-(2020/08/09(Sun) 09:55:21)

分類:[.NET 全般] 

VB.NETを使ってレジストリの削除を行いたいのですが、

普通に

            Microsoft.Win32.Registry.CurrentConfig.DeleteSubKeyTree("新しいキー #1")

となると、レジストリが存在しなかった場合にエラーとなってしまいます。



そのため、サブキーが予め存在するかどうか確認を行いたいのですが、

        Dim RegistryKey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentConfig.OpenSubKey("新しいキー #1", True)

        If RegistryKey IsNot Nothing Then
            Microsoft.Win32.Registry.CurrentConfig.DeleteSubKeyTree("新しいキー #1")
        End If



というようにするしかないですか?
なんとなく、二度手間のコードのような気がするのですが
もっとシンプルな方法がありましたら教えてください。



引用返信 編集キー/
■95505 / inTopicNo.2)  Re[1]: レジストリのサブキーの存在確認の方法
□投稿者/ Hongliang (1076回)-(2020/08/09(Sun) 10:13:24)
例外なしで消したいだけであれば
https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.win32.registrykey.deletesubkeytree
public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey);
こちらの方のオーバーロードを使って第2引数を指定すればいいのでは?
引用返信 編集キー/
■95506 / inTopicNo.3)  Re[2]: レジストリのサブキーの存在確認の方法
□投稿者/ 直 (2回)-(2020/08/09(Sun) 10:24:09)
こんなエレガントな方法がありましたか
どうもありがとうございました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ