检查键值是否存在,或者不使用C#
问题描述:
我有一个关键的检查键值是否存在,或者不使用C#
在“HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \卸载\ {4CHJHSDJHSJHDJS-SDGSJAD}”
我注册表中。使用
Registry.GetValue("keyname", "valuename", "default value")
我可以检索它的任何值。但是我需要检查注册表中是否存在“{4CHJHSDJHSJHDJS-SDGSJAD}”。有人可以建议我用什么检查来做这件事吗?
答
使用注册表项,您可以尝试使用OpenSubKey
方法获取它。如果返回的值是null
,那么密钥不存在。我在这里谈论钥匙,而不是价值观。
在你的榜样,这将回落到:
var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall\{4CHJHSDJHSJHDJS-SDGSJAD}");
if (key == null)
{
// Key does not exist
}
else
{
// Key exists
}
+0
是的,我知道了。之前我遇到了语法错误问题。谢谢! – Arti 2013-04-08 08:55:45
答
你有没有试过这种
using Microsoft.Win32;
RegistryKey myregistry = Registry.CurrentUser.OpenSubKey("MyKey");
if (myregistry != null)
{
string Value=myregistry.GetValue("ID").ToString();
}
答
您可以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
}
检查'Registry.GetValue'的返回值,如果它不是预期的那么它不存在? – DGibbs 2013-04-08 08:49:11
我目前使用Registry.GetValue。我可以从这个键值中检索任何值,但不能判断它是否存在。 – Arti 2013-04-08 08:50:47
可能的重复[如何检查注册表值是否存在使用C#?](http://*.com/questions/4276138/how-to-check-if-a-registry-value-exists-using-c) – 2013-04-08 08:56:28