我在尝试读取 Windows server 2008 上的注册表项时遇到了一个问题。令人费解的是,该代码确实可以在另一台服务器上运行,该服务器也是 2008,但它是 R2。我已经检查并且注册表项已经到位,并且我以管理员身份运行了该程序。下面是一个代码示例。Registry.LocalMachine.OpenSubKey 返回的注册表键为空。这是一个 64 位应用程序
string strPath = "";
try
{
//The registry key:
//SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SnmpClient.exe
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(strKey))
{
try
{
//InstallDirectory
if (!(rk.GetValue(strValue) == null))
{
strPath += rk.GetValue(strValue).ToString();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return strPath;