这可能不对,但它正在发生在我身上。我有以下功能:
private static bool KeyExists(RegistryKey key, string search)
{
//GetSubKeyNames is busted...
foreach (string subKey in key.GetSubKeyNames())
{
if (subKey.Trim().Equals(search.Trim()))
{
return true;
}
}
return false;
}
如果我把行String[] names = key.GetSubKeyNames()
放在调试器中,我看到列出的名称不是我在regedit中看到的。例如,我安装了一个软件,它出现在Wow6432Node子项中,但如果我在普通的软件子项中搜索它,它会弹出。有什么想法吗?
谢谢, 布赖恩
答案 0 :(得分:9)
Wow6432密钥包含32位程序看到的注册表项。项目+属性,构建选项卡,检查您的平台目标设置。它在VS2010中默认为x86。
可以更改注册表重定向,但不能更改.NET RegistryKey类。您必须调整注册表API函数。有更多背景信息in the SDK。