【发布时间】:2011-10-25 12:00:50
【问题描述】:
我的应用程序写入 HKEY_LOCAL_MACHINE 中的注册表,因此我使用清单文件来利用 UAC 功能。虽然当我将数据写入用户 AppData 文件夹时(出现 UAC 对话框提示后),数据写入管理员的 AppData 文件夹,而不是当前用户的 AppData 文件夹。如果我想将数据写入正确的路径,我该怎么做?
【问题讨论】:
我的应用程序写入 HKEY_LOCAL_MACHINE 中的注册表,因此我使用清单文件来利用 UAC 功能。虽然当我将数据写入用户 AppData 文件夹时(出现 UAC 对话框提示后),数据写入管理员的 AppData 文件夹,而不是当前用户的 AppData 文件夹。如果我想将数据写入正确的路径,我该怎么做?
【问题讨论】:
启动应用程序的当前用户是否在管理员组中?您还可以通过查看 UAC 提示符找到它:如果用户在管理员组中,则对话框是一个简单的确认:是或否;如果用户不在管理员组中,则对话框提示输入管理员凭据:用户名和密码。 (Screen shots of Consent UI and Credentials UI)。
因此,如果您想将全局设置写入 HKLM 并将 本地 设置写入当前用户的配置文件,您只需要提升写入 HKLM 的部分。
【讨论】: