在c#中修改现有的注册表项值我想在Windows7中使用C#代码修改注册表路径SOFTWAREWow6432NodeProgramSubProgram中的数据。我能够读取值,但我不能写入注册表。这是代码:RegistryKeySUBKEY;RegistryKeyTAWKAY=RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.LocalMachine,"");stringsubkey="SOFTWARE\Wow6432Node\Program\SubProgram";if(TAWKAY.OpenSubKey(subkey)!=null)//从注册表中获取值{TAWKAY=RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.LocalMachine,"");SUBKEY=TAWKAY.OpenSubKey(subkey);//子键打开SUBKEY=TAWKAY.OpenSubKey(subkey,true);//子项未打开显示错误RequestedregistryaccessisnotallowedSUBKEY.SetValue("Somename","1234567890");Console.WriteLine(SUBKEY.GetValue("Somename").ToString());}else{Console.WriteLine("无法打开注册表");}控制台.Read();如果我设置OpenSubKey(subkey,true)它会显示错误消息RequestedregistryaccessisnotallowedDoyouneedpermissiontowriteregistry?请帮我解决这个问题Wow6432Node不是注册表中的真实路径。它是64位操作系统中32位密钥的别名。您必须使用RegistryView.Registry32来指定您希望使用32位。RegistryKeyreg32key=RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry32);RegistryKeyreg_32bit_AppKey=reg32key.OpenSubKey(@"SOFTWAREProgramSubProgram");if(reg_32bit_AppKey!=null){//这里可以使用"SOFTWARE\Wow\6432Node\SubProgram"}在HKLM中修改/删除/添加密钥需要管理员权限。在这种情况下,您需要将应用程序清单的requestedExecutionLevel值更改为requireAdministrator最好使用“Reg”命令以便对注册表执行任何操作。即使您想访问远程计算机的注册表,也不需要该计算机的凭据,因此拥有计算机名称就足够了。关于“REG”命令的更多信息,请参考以下链接http://technet.microsoft.com/en-us/library/cc732643(v=ws.10).aspx以上为C#学习教程:修改c#如果对你有用,需要详细了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理会员删除。如需转载请注明出处: