[英]Add key to registry if not exist
如果不存在,我尝试向注册表添加密钥。 虽然我调试一切都很好。 代码应该工作。 但我在注册表编辑器中找不到密钥。 你有什么主意吗?
public void ConfigureWindowsRegistry()
{
var reg = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst", true);
if (reg == null)
{
reg = Registry.LocalMachine.CreateSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst");
}
if (reg.GetValue("someKey") == null)
{
reg.SetValue("someKey", "someValue");
}
}
如果您使用的是64位操作系统,则WOW64会重定向某些注册表项。 有关此主题的更多信息可在MSDN上获得 ,您应该在Wow6432Node下查找,您将找到您的条目。 如果你第一次在64位机器上创建该代码(我在本地试过),这个条目:
HKEY_LOCAL_MACHINE \\ Software \\ Wow6432Node \\ Microsoft \\ Office \\ Outlook \\ FormRegions \\ tesssst
如果你想访问注册表的64位部分,你应该这样做:
public void ConfigureWindowsRegistry()
{
RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64); //here you specify where exactly you want your entry
var reg = localMachine.OpenSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst",true);
if (reg == null)
{
reg = localMachine.CreateSubKey("Software\\Microsoft\\Office\\Outlook\\FormRegions\\tesssst");
}
if (reg.GetValue("someKey") == null)
{
reg.SetValue("someKey", "someValue");
}
}
执行上面的代码会将注册表项放在您要定位的正确部分中。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.