写入用户AppData目录时出现问题



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

当前启动应用程序的用户是否在Administrators组中?您也可以通过UAC提示来查找:如果用户在Administrators组中,对话框是一个简单的确认:Yes或No;如果user不在Administrators组中,则对话框提示输入Administrator凭据:用户名和密码。(Consent UICredentials UI屏幕截图)。

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

因此,如果您想将全局设置写入HKLM,并将本地设置写入当前用户的配置文件,那么您只运行了写入HKLM的部分。

最新更新