使用C#检查键值是否存在

时间:2013-04-08 08:48:23

标签: c# visual-studio

我有一把钥匙

  

“HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \卸载\ {4CHJHSDJHSJHDJS-SDGSJAD}”

在我的注册表中。使用

Registry.GetValue("keyname", "valuename", "default value")

我可以检索它的任何值。但我需要检查注册表中是否存在“{4CHJHSDJHSJHDJS-SDGSJAD}”。谁能告诉我应该用什么检查呢?

3 个答案:

答案 0 :(得分:7)

使用注册表项,您可以尝试使用OpenSubKey方法获取它。如果返回值为null,则该密钥不存在。我在这里谈的是关键,而不是价值观。

在您的示例中,这将归结为:

var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall\{4CHJHSDJHSJHDJS-SDGSJAD}");
if (key == null)
{
    // Key does not exist
}
else
{
    // Key exists
}

答案 1 :(得分:3)

你试过这个吗?

          using Microsoft.Win32;
          RegistryKey myregistry = Registry.CurrentUser.OpenSubKey("MyKey");
          if (myregistry != null)
          {
           string Value=myregistry.GetValue("ID").ToString();
          }

答案 2 :(得分:1)

您可以使用Registry.CurrentUser然后OpenSubKey查询注册表项。

RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall\{4CHJHSDJHSJHDJS-SDGSJAD}");

if (key != null)
{
    // key exists
}
else
{
    // key does not exists
}