无法写入注册表项 [英] cannot write to the registry key
本文介绍了无法写入注册表项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到错误不能写,当我试图挽救我的钥匙在注册表中的注册表项。
//这里是我的代码。
请注意:我想作为一个Administartor运行假设一些权限问题仍然得到同样的错误......
私人常量字符串RegistryKeyName =SKMS
私人只读的RegistryKey SoftwareKey = Registry.LocalMachine.OpenSubKey(软件);
公共KeyManagementRegistryKeyChangeImpl(布尔可写)
{
this.writable =可写;
的RegistryKey SKMS;
如果(Environment.Is64BitOperatingSystem ==真)
{
SKMS = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine,RegistryView.Registry64).OpenSubKey(RegistryKeyName,真);
}
,否则
{
SKMS = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine,RegistryView.Registry32);
}
如果(空== SKMS)
{
SKMS = SoftwareKey.CreateSubKey(RegistryKeyName,RegistryKeyPermissionCheck.ReadWriteSubTree);
}
如果(SKMS == NULL)
{
抛出新System.ArgumentException(的String.Format(CultureInfo.InvariantCulture,
@注册表关键'HKEY_LOCAL_MACHINE\SOFTWARE\ {0}未找到或创造,
RegistryKeyName));
}
解密解密= Decryptor.Create();
解决方案
如果(空== SKMS)
{
SKMS = Registry.LocalMachine.OpenSubKey(软件,真正的);
的RegistryKey键= skms.CreateSubKey(
RegistryKeyName,RegistryKeyPermissionCheck.ReadWriteSubTree);
}
这是我的问题的答案。
I am getting error cannot write to the registry key when i am trying to save my keys in the registry .
//Here is my code .
Note : I tried to run as an Administartor assuming some permission problems still getting the same error ....
private const string RegistryKeyName = "Skms";
private readonly RegistryKey SoftwareKey = Registry.LocalMachine.OpenSubKey("SOFTWARE");
public KeyManagementRegistryKeyChangeImpl(bool writeable)
{
this.writable = writeable;
RegistryKey skms;
if (Environment.Is64BitOperatingSystem == true)
{
skms = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(RegistryKeyName,true);
}
else
{
skms = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry32);
}
if (null == skms)
{
skms = SoftwareKey.CreateSubKey(RegistryKeyName, RegistryKeyPermissionCheck.ReadWriteSubTree);
}
if(skms == null)
{
throw new System.ArgumentException(string.Format(CultureInfo.InvariantCulture,
@"Registry Key 'HKEY_LOCAL_MACHINE\SOFTWARE\{0}' not found or created",
RegistryKeyName));
}
Decryptor decryptor = Decryptor.Create();
解决方案
if (null == skms)
{
skms = Registry.LocalMachine.OpenSubKey("SOFTWARE",true);
RegistryKey key = skms.CreateSubKey(
RegistryKeyName, RegistryKeyPermissionCheck.ReadWriteSubTree);
}
This is the answer for my question .
这篇关于无法写入注册表项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文