たとえば、「HKCU \ Software\Test」を指すSystem.Win32.RegistryKeyオブジェクトがあります。.Nameプロパティには、絶対パスが入力されます。現在の(相対的な)キー名のみを取得する方法はありますか?
上記の例では、パスの「テスト」部分だけを探しています。パスを手動で解析することなく、System.IO.Path.GetDirectoryNameと同等のレジストリを探しています。
と呼ぶだけSystem.IO.Path.GetDirectoryName
です。
Path.*
関数(を除く)は純粋に文字列操作関数であり、ファイルシステム以外のGetFullPath()
パスでも正常に機能します。
System.IO.Path.GetDirectoryName(string)
レジストリパスで問題なく機能するものを簡単に使用できます。
この質問では、絶対フル パスではなく、相対値 (Test のみ) を求めています。GetDirectoryName
メソッドは絶対パスを返します。使用する方法は次のとおりです。
System.IO.Path.GetFileNameWithoutExtension(subkey.Name);