このレジストリエントリにインストールされているアプリケーションを取得しようとしています。
HKEY_USERS \ S-1-5-21-xxxxxx-xxxxxx-xxxxxx-1000 \ SOFTWARE \ Microsoft \ Win dows \ CurrentVersion \ Uninstall
以下のコードは、registry_Keyの最初の部分(xが存在する場所)をフォルダー名に置き換えると機能します。しかし、そのフォルダ名はPCごとに異なるため、どのコンピュータでもこのコードを使用できるように、そのフォルダ名を取得するにはどうすればよいですか?
言い換えると、文字列S-1-5-21-xxxxxx-xxxxxx-xxxxxx-1000のこの部分をどのように取得しますか
registry_key = @"> HKEY_USERS\S-1-5-21-xxxxxx-xxxxxx-xxxxxx-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key))
{
foreach (string subkey_name in key.GetSubKeyNames())
{
using (RegistryKey subkey = key.OpenSubKey(subkey_name))
{
textBox2.Text += subkey.GetValue("DisplayName") + "\r\n";
}
}
}