0

我想在我的注册表中写一个值。我使用 C# 4.0。我使用以下代码。

RegistryKey rk = baseRegistryKey;

RegistryKey sk1 = rk.CreateSubKey(subKey);

sk1.SetValue(KeyName.ToUpper(), Value);

此子键值为“SOFTWARE\POS”

这在我以前的机器上运行良好。它是 Windows 7,32 位操作系统。现在我使用的是 Windows 7、64 位操作系统。现在这个程序在执行RegistryKey sk1 = rk.CreateSubKey(subKey); 行时会产生以下错误。

“拒绝访问注册表项 'HKEY_LOCAL_MACHINE\SOFTWARE\POS'。”

我也以管理员身份登录。但是 CreateSubKey 方法在 Microsoft.Win32 命名空间下。

请帮忙。提前致谢。

4

1 回答 1

0

您需要让您的应用程序以管理员身份运行。如果您想强制您的应用程序以管理员身份运行,您需要将清单文件添加到您的项目中,并将以下行添加到清单文件中:

<requestedExecutionLevel level="requireAdministrator" />

希望这对您有用并解决您的问题。

于 2012-06-27T07:10:58.293 回答