使用默认访问级别在Windows 7上运行时,以下代码失败。 (这是一个使用Visual Studio 2010构建的C#应用程序)。我写信给HKEY_CurrentUser,这是我应该被允许创建和读取密钥的地方。
我是否需要修改程序的清单?还是有另一个神秘的伎俩?
在Windows 7下,如果您在用户帐户上调低通知设置,则代码可以正常工作。但不是出厂设置。程序员应该放弃注册表吗?
RegistryKey regsoftware = Registry.CurrentUser.OpenSubKey("Software", true);
RegistryKey regsw = regsoftware.CreateSubKey("MyCompanyName");
regsw.SetValue("User", Id);
regsw.SetValue("Pwd", encodeString(Pw));
谢谢, 格里
答案 0 :(得分:1)
默认情况下,如果您想使用管理员权限运行您的应用,可以试试这个。
转到项目 - >属性 - >在右侧窗格中下拉“链接器”选项 - >清单文件 - >检查“UAC执行级别” - >选择“requireAdministrator” (我正在使用VS2008希望它在VS2010中应该是相同的)。 那就是你所要做的一切。
答案 1 :(得分:0)
您必须以管理员身份运行程序。您可以检查操作是否需要提升,并根据需要使用 WinAPI CodePack for .NET Framework提升操作。