C#CreateValuesinRegistryLocalMachine以下代码对我不起作用:publicboolcreateRegistry(){if(!registryExists()){Microsoft.Win32.Registry.LocalMachine.CreateSubKey("软件\xelo\");Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\xelo").SetValue("hostname",(string)hostname,Microsoft.Win32.RegistryValueKind.String);返回真;}else{返回updateRegistry();}}异常:System.UnauthorizedAccessException|“Unabletowriteregistrykey”非admin和非admin管理员用户无权修改HKEY_LOCAL_MACHINE键。以管理员身份运行程序。即使作为管理员,我也不认为您可以在LocalMachine上创建新密钥。确保你执行Registry.LocalMachine.CreateSubKey(@"SOFTWAREYourCompanyNameSomeNewKey");不是Registry.LocalMachine.CreateSubKey("SomeNewKey");下面的代码在注册表中创建密钥。Microsoft.Win32.RegistryKey密钥;key=Microsoft.Win32.Registry.LocalMachine.CreateSubKey("Software\Wow6432Node\Names");key.SetValue("姓名","伊莎贝拉");键.关闭();然后你得到了答案——我猜你在Vista或Windows7(或Server2008)上运行,运行应用程序的进程/用户没有修改注册表的权利/权限。所以这不是代码问题,而是系统管理员问题。构建应用程序并以管理员身份运行以查看是否有效。将PremissionCheck位设置为true...Microsoft.Win32.Registry.LocalMachine.CreateSubKey("Software\xelo\",true);对大家有用,需要了解更多的C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
