从注册表 C# 中读取值
Reading a value from registry C#
我正在尝试阅读最近的
这是我现在拥有的代码:
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Visual Studio.0\ProjectMRUList");
string data2 = (string)registryKey.GetValue("File1".ToUpper());
recentProjects.Items.Add(data2);
我一直收到空错误。
System.NullReferenceException: Object reference not set to an instance
of an object.
错误在
string data2 = (string)registryKey.GetValue("File1");
子项实际上是 "VisualStudio",而不是 "Visual Studio"。尝试以下操作:
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio.0\ProjectMRUList");
string data2 = (string)registryKey.GetValue("File1".ToUpper());
或者更好的是,您可以控制环境是 32 位还是 64 位,例如...
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64))
{
using (var key = hklm.OpenSubKey(@"Software\Microsoft\VisualStudio.0\ProjectMRUList"))
{
string data2 = (string)key.GetValue("File1".ToUpper());
}
}
我正在尝试阅读最近的
这是我现在拥有的代码:
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Visual Studio.0\ProjectMRUList");
string data2 = (string)registryKey.GetValue("File1".ToUpper());
recentProjects.Items.Add(data2);
我一直收到空错误。
System.NullReferenceException: Object reference not set to an instance of an object.
错误在
string data2 = (string)registryKey.GetValue("File1");
子项实际上是 "VisualStudio",而不是 "Visual Studio"。尝试以下操作:
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio.0\ProjectMRUList");
string data2 = (string)registryKey.GetValue("File1".ToUpper());
或者更好的是,您可以控制环境是 32 位还是 64 位,例如...
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64))
{
using (var key = hklm.OpenSubKey(@"Software\Microsoft\VisualStudio.0\ProjectMRUList"))
{
string data2 = (string)key.GetValue("File1".ToUpper());
}
}