0

我的应用程序在 HKEY_LOCAL_MACHINE 中写入注册表,因此我使用清单文件来利用 UAC 功能。虽然当我将数据写入用户 AppData 文件夹时(出现 UAC 对话框提示后),数据写入管理员的 AppData 文件夹,而不是当前用户的 AppData 文件夹。如果我想将数据写入正确的路径,我该怎么做?

4

1 回答 1

0

启动应用程序的当前用户是否在管理员组中?您还可以通过查看 UAC 提示符找到它:如果用户在管理员组中,则对话框是一个简单的确认:是或否;如果用户不在管理员组中,则对话框提示输入管理员凭据:用户名和密码。(同意 UI凭据 UI的屏幕截图)。

  1. 用户管理员组中
    然后单击是按钮后,应用程序将在同一用户的上下文中启动,但启用了完整的管理员令牌。
  2. 用户不在管理员组
    中 用户输入管理员帐户名和密码后,应用程序将在另一个用户的上下文中启动。因此,所有特定于用户的设置都将写入该管理员用户的注册表和 AppData,而不是最初启动应用程序的用户。

因此,如果您想将全局设置写入 HKLM 并将本地设置写入当前用户的配置文件,您只需要提升写入 HKLM 的部分。

于 2011-08-12T18:28:10.427 回答