【发布时间】:2016-10-18 05:35:16
【问题描述】:
当用户从我的应用程序中保存文件时,他们目前无法保存到受限位置(例如 C:)。我认为这是一个很好的限制,但我想提供一个 UAC 提示来提升权限并允许用户在受限区域中保存。
我已经看到很多关于这个主题的答案,其中涉及使用“runas”生成具有提升权限的新进程。此外,这似乎可以通过冒充另一个用户来完成。据我了解,这两种方法都需要用户提供用户凭据。
我想做的基本上就是 Windows 本身所做的。当您尝试在 Windows 7 中将文件复制到 C:\ 时(假设您已将 UAC 设置为其默认级别),您会收到以下提示:
单击带有 UAC 防护罩的“继续”按钮后,文件将被复制到 C:\,而不会提示输入凭据(假设您以管理员权限登录)。
如何在我的应用程序中为管理员用户复制此行为?他们不应该冒充任何其他用户,因为他们已经拥有管理员权限。任何人都可以提供有关 Windows 在此过程中执行的操作的详细信息吗?他们是否正在生成具有提升权限的新 explorer.exe 进程?
【问题讨论】:
标签: c# file-io permissions uac