我经常遇到 UAC 对话框。当它出现时,我的屏幕会空白一秒钟,然后重新显示,除了 UAC 框之外,其他一切都暗淡无光。该框有两个按钮,“是”和“否”。默认按钮是“否”,最初是选中的。
此时,我最常见的反应是说“是”。这是因为这个对话框是针对我刚才所做的事情而弹出的,而这是我需要完成的事情。现在,在大多数类似情况下,当我必须对经常看到的对话框做出回答时,我更喜欢使用的方法是使用该对话框的快捷键之一。例如,退出 winword 时,我可能不想修改已打开的文档,因此我只需按“n”,其中对话框的选项为“_Yes”、“_No”和“_Cancel”。同样,UAC 框的按钮为“_Yes”和“_No”。但是,出于某种原因,按下快捷键实际上不会在 UAC 框中执行任何操作。
我试图找到有这个问题的其他人。我遇到的情况是http://www.native-instruments.com/forum/showthread.php?p=1056830用户建议“如果您启用了 UAC,则每次出现提示时都按“y”。这意味着按下快捷键必须适用于一些人。我想知道如何在我的 Windows 7 Professional 机器上启用它。
我一直采用的选项是左箭头键加空格键,但这种选项无法在多种键盘之间移植(因为它们的箭头键总是在不同的位置)。使用鼠标是不可能的。
编辑:我想澄清一下,我在知道加速器键盘快捷键是什么之前就问了这个问题,或者激活加速器快捷键的“正常”方法是按住 alt 键并按下带下划线的键。从答案中,我了解到有时需要 alt 键。从那时起,我发现这对这种情况很有用:如果文本框在窗口中获得焦点,您可以使用 alt+助记键单击特定按钮(以前我会先尝试模糊文本框或使用鼠标)。
答案1
抽象的
我找不到任何关于原因的正式讨论(尽管一个人抱怨关于 Vista 到 7 中加速键的改变)。然而,其中一个原因比较明显,而另一个原因则不然。
安全
在许多简单的对话框中,你可以按下加速键而不按住Alt,(例如,是-否对话框,ARF对话框(图1),资源管理器文件复制对话框(图2)等),但UAC 提示之所以特殊,是因为它会带来严重的安全影响。因为很多用户倾向于随意点击他们没有真正查看,更没有理解提示的内容,而是禁用了关闭 UAC 对话框的功能仅有的 Y或者N强制采用不太方便的方法来做Alt这件事。
有些人可能会认为,这个小问题对安全影响不大,用户仍然会忽略它而不注意它所呈现的警告,但至少推理其背后很简单,而且有些合理。
技术的
此外,还有一个更技术性的原因。UAC 提示不是普通窗口,不会被普通窗口管理器处理。请注意,即使启用了 Aero Glass,UAC 对话框也是 Aero Basic(图 3)。
另请注意,您无法使用该键截取屏幕截图(或整个屏幕)PrtScr(此类屏幕截图通常使用虚拟机)。事实上,当 UAC 提示处于活动状态时,您无法使用Alt/ Win+ Tab、Win、Ctrl+ Esc,甚至Ctrl+ Shift+或任何其他 Explorer/应用程序热键;Escape仅有的有效的热键是由中科院遥感所:
- Win+P
- Win+L
- Win+U
- Ctrl+ Alt+Del
在旧版本的 Windows(例如 Windows 3)中,有一个概念系统模式对话框。即,一种对话框,当显示时,将完全阻止系统其余部分运行,直到它被关闭。这对于某些事情(如严重警告)来说有些道理,但显然它会产生严重后果,更糟糕的是,可能会被滥用。毫不奇怪,在 Windows 95 中,他们通过更改系统模式样式来删除它,这样它就不会阻止系统,而是使对话框处于最顶层(始终位于所有其他非最顶层窗口之上)。(从技术上讲,系统模式对话框在 9x 中无论如何都是不可能的,因为它是抢先式多任务代替合作多任务就像 3.x 一样。)UAC 提示是现代 Windows 系统中最接近系统模式对话框的东西,但即使如此,它也是一种类似于 XP 的淡入淡出关机屏幕(图 4)的黑客技术,但功能更强大。
因为 UAC 提示是系统模式的,所以它不由窗口管理器处理(窗口管理器没有能力做到这一点),而是由低级系统正因为如此,它必须自己处理加速器,而不是仅仅让 shell 来做,所以一些加速器处理(包括只按下加速器键而不按住Alt)与在 Explorer 和其他程序中并不完全相同。
安全+技术
这实际上是有原因的,即安全性的结合和技术原因。在安全登录在 Windows NT 系统中(图 5),可以配置系统要求用户按++Ctrl进行登录:AltDelete
Windows NT 的设计使得,除非系统安全性已经以某种方式受到威胁,否则只有 Winlogon 进程(一个受信任的系统进程)才能收到此按键组合的通知。这是因为内核会记住 Winlogon 进程的进程 ID,并且只允许该进程接收通知。因此,此按键组合被称为安全注意序列。按下 Control-Alt-Delete 的用户可以确保是操作系统(特别是 Winlogon 进程)而不是第三方程序响应了此按键组合(即登录欺骗),因此可以安全地输入密码。
Windows 中的安全性通常通过让低级、高权限进程处理特殊密钥来防止欺骗。这样一来,就更难允许程序发送是的以编程方式绕过用户。同样,网络浏览器限制输入方式以防止点击欺诈、自动攻击等,因此毫不奇怪,Windows 最敏感的安全屏幕使其接受以管理权限运行进程的提示变得稍微复杂一些。
概括
目前尚不清楚是安全设计还是技术限制(错误或功能)先出现;您必须询问 Windows 设计团队才能找到答案(假设他们能够/愿意回答)。无论如何,这有两个原因,它们都满足了彼此的需求。
附录
图1:中止重试失败对话框
图 2:文件复制对话框
图 3:Aero Glass 桌面上的 Aero Basic 中的 UAC 提示
图 4:Windows XP 淡出关机屏幕
图 5:Windows 7 安全登录屏幕
答案2
我发现我必须按Alt+才能在 UAC 提示上y激活按钮。这可能对你有用。Yes