Аннотация
Я не могу найти никакого официального обсуждения причины (хотя один человек жаловался на изменение клавиш акселератора с Vista на 7). Однако одна из причин несколько очевидна, а другая нет.
Безопасность
Во многих простых диалоговых окнах вы можете нажать клавишу ускорения, не удерживая Alt (например, диалоговые окна «Да-Нет», диалоговые окна ARF (рисунок 1), диалоговые окна копирования файлов в Проводнике (рисунок 2) и т.д.), Но приглашение UAC является особенным, поскольку это имеет последствия для безопасности, которые могут быть серьезными. Поскольку многие пользователи имеют тенденцию щелкать без разбора без фактического просмотра, не говоря уже о понимании того, с чем их запрашивают, они отключили возможность закрывать диалоговое окно UAC только Y или N и вынуждают менее удобный метод удерживать Alt для сделай это.
Некоторые могут утверждать, что этот незначительный дорожный удар мало влияет на безопасность, и пользователи по-прежнему игнорируют его, не обращая внимания на предупреждение, которое он представляет, но, по крайней мере, его обоснование простое и несколько обоснованное.
технический
Кроме того, есть еще одна более техническая причина. Подсказка UAC не является обычным окном и не обрабатывается обычным оконным менеджером. Обратите внимание, что даже при включенном Aero Glass в диалоговом окне UAC отображается Aero Basic (рисунок 3).
Также обратите внимание, что вы не можете сделать его снимок экрана (или экран в целом) с помощью клавиши PrtScr (подобные снимки экрана обычно делаются с виртуальными машинами). Фактически, вы не можете использовать Alt/Win+Tab, Win, Ctrl+Esc или даже Ctrl+Shift+Escape или любую другую горячую клавишу Explorer/приложения, когда приглашение UAC активно; работают только горячие клавиши, которые обрабатываются CSRSS:
- Win+P
- Win+L
- Win+U
- Ctrl+Alt+Del
В более старых версиях Windows (например, Windows 3) существовала концепция системно-модального диалогового окна. То есть тип диалогового окна, которое при отображении полностью блокирует работу остальной системы до тех пор, пока оно не будет закрыто. Это имело некоторый смысл для определенных вещей, таких как критические предупреждения, но, очевидно, оно имеет серьезные последствия и, что еще хуже, им можно злоупотреблять. Неудивительно, что в Windows 95 они удалили системный модальный стиль, изменив его так, чтобы вместо блокировки системы он просто делал диалог верхним (всегда поверх всех остальных не верхних окон). (Технически, системно-модальный диалог был невозможен в 9x в любом случае из-за того, что он был многозадачным, вместо совместной многозадачности, как 3.x). Подсказка UAC является наиболее близкой к системно-модальному диалогу в современных системах Windows, но даже в том, что она является своего рода хаком, аналогичным, но более мощным, чем экран выключения замирания XP (рисунок 4).
Поскольку приглашение UAC предназначено для модальной системы, оно обрабатывается не диспетчером окон (который не способен это сделать), а скорее системами более низкого уровня. Из-за этого он должен обрабатывать ускорители сам по себе, а не просто оболочке, поэтому некоторая обработка акселератора (включая нажатие только клавиши ускорения без удерживания Alt) не работает точно так же, как в Explorer и других программах. ,
Безопасность + Технические
На самом деле для этого есть причина, которая заключается в сочетании как технических, так и технических соображений. В безопасном входе в систему Windows NT (рисунок 5) система может быть настроена так, чтобы пользователь нажимал Ctrl+Alt+Delete для входа в систему:
Windows NT спроектирована таким образом, что, если безопасность системы уже не была нарушена каким-либо другим способом, только процесс Winlogon, доверенный системный процесс, может получать уведомления об этой комбинации нажатий клавиш. Это связано с тем, что ядро запоминает идентификатор процесса Winlogon и позволяет только этому процессу получать уведомление. Таким образом, эта комбинация нажатий клавиш называется последовательностью безопасного внимания. Пользователь, нажимающий Control-Alt-Delete, может быть уверен, что это операционная система (в частности, процесс Winlogon), а не сторонняя программа, которая отвечает на комбинацию клавиш (т. Е. Подмена входа в систему), и поэтому она безопасна. ввести пароль.
Безопасность в Windows часто обрабатывается особым образом, поскольку низкоуровневые процессы с высокими привилегиями обрабатывают специальные ключи для предотвращения подделки. Таким образом, например, более сложно разрешить программе программно отправлять ключ (ы) Да, чтобы обойти пользователя. Аналогичным образом, веб-браузеры ограничивают возможности ввода данных для предотвращения мошеннических кликов, автоматических атак и т.д., Поэтому неудивительно, что наиболее чувствительный экран безопасности Windows делает запрос на запуск процесса с правами администратора немного более сложным. ,
Резюме
Был ли это дизайн безопасности или технические ограничения, которые были первыми (ошибки или функции), неизвестно; вам придется попросить команду разработчиков Windows выяснить это (при условии, что они смогут / захотят ответить). В любом случае, для этого есть две причины, и они обе соответствуют потребностям друг друга.
аппендикс
Рисунок 1: Диалог отказа от повторной попытки
Рисунок 2: Диалог копирования файла
Рисунок 3: Запрос UAC в Aero Basic через рабочий стол Aero Glass
Рисунок 4: Экран отключения затухания в Windows XP
Рисунок 5: Экран безопасного входа в Windows 7