【发布时间】:2014-09-17 21:06:44
【问题描述】:
这件事一直在我脑海里。我可以通过按 Ctrl + Shift + Esc 打开任务管理器,然后在第二个选项卡(进程)上,我可以轻松按 Alt + S -- 显示所有用户的进程以提升我的任务管理器没有任何提示。瞧,我有一个强大的工具可以玩。我一直找不到任何文件来解释这一点,我很好奇这一壮举是如何实现的;因为按钮实际上应该要求提示,但没有。
【问题讨论】:
-
@KenWhite 你是说 Ctrl + Shift + Esc 实际上运行 TaskManager 具有管理员权限?
-
这是一个有趣的观察,但我不知道它与 C# 有什么关系。
-
@KenWhite 他的观点是 UAC 阻止进程以管理员权限启动,除非特别授予。您不能只打开一个以具有管理员权限的帐户登录的普通应用程序并具有管理访问权限,而无需提升访问权限并点击 UAC 提示符。
-
@KenWhite 你似乎没有抓住重点——Taskmgr 是我所知道的唯一可以在没有 UAC 提示的情况下运行提升命令的程序。
-
Microsoft 已将 Windows 中包含的大多数程序列入白名单,无需在默认设置下显示 UAC 提示,因为这比正确实现 UAC 支持更容易。当然,所有其他应用程序仍然需要处理它。如果你将 UAC 调到最大,它仍然需要提示。
标签: winapi uac elevation moniker undocumented-behavior