Как включить нажатие «y» для приглашения UAC? Работают только клавиши со стрелками

3

Я часто сталкиваюсь с диалогом 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 + mnemonic, чтобы нажать на конкретную кнопку (мой старый сам попытался бы размывать текстовое поле первым или прибегнуть к использованию мыши) ,

Бинки
источник
Какой язык выбран? Диалог может быть на английском языке, но для него может потребоваться другая буква «да» (например, в прошлом я сталкивался с диалогами Y / N, в которых для ответа на вопрос «Да / Нет» требовалось «j» (от голландского слова JA)
Hennes
1
Я знаю, что Вы имеете ввиду. Я подозреваю, что это было сделано специально для того, чтобы вы не могли использовать Yсами по себе, чтобы люди не отвечали положительно, не глядя и не понимая, что они делают.
Synetech
Re: Это означает, что нажатие сочетания клавиш должно работать для некоторых людей. Я только что проверил это на моей системе win7 и просто нажатие yне работает для меня тоже. (Но Alt+ yработает).
Hennes
Полная цитата: Run it as administrator (right click and select "Run as administrator) if you have UAC enabled, and press "y" every time you're prompted. When it says "Done", press any key to close the window. они были упрощены. Они просто подразумевали принятие диалога, а не только буквальное нажатие Y.
Synetech
1
@binki, удерживая Altи нажимая Yили требуя Nобе руки и / или неудобное изгибание, которое занимает 1-2 секунды дольше, чем нажатие только буквы. Таким образом, эта небольшая задержка должна дать вам достаточно времени, чтобы мысленно зарегистрировать значение подсказки.
Synetech

Ответы:

9

Абстрактные

Я не могу найти никакого официального обсуждения причины (хотя один человек жаловался на изменение клавиш акселератора с 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

введите описание изображения здесь

Synetech
источник
4

Я обнаружил, что должен нажать Alt+, yчтобы активировать Yesкнопку в приглашении UAC. Это может работать для вас.

Fran
источник
Да, но вы держите Alt. Они спрашивают о нажатии только, Y как с большинством диалоговых окон.
Synetech
ОП не говорит, что он хочет использовать только Y . Он писал: «[...] Я предпочитаю использовать в большинстве подобных ситуаций [...] использовать одну из горячих клавиш для этого поля». Похоже, что Yэто не комбинация клавиш для запросов UAC (по крайней мере, никто здесь не сказал, что это работает для них), но Alt+yесть.
Фрэн
Ну, они неоднократно говорили « нажмите»,Y что показывает, что они стали обусловлены нажатием только клавиши ускорения в простых диалоговых окнах: например, при выходе из winword я, возможно, не захочу изменять открытый у меня документ, поэтому я просто нажимаю «n» . Так что да, они сказали, только Y если они использовали в Nкачестве своего примера.
Synetech
@Synetech: исходя из того, как оно сформулировано, я считаю, что оператору не важно, какая комбинация клавиш, он просто не знал о сочетаниях клавиш Alt.
Гарри Джонстон
@HarryJohnston, на самом деле из формулировки, ясно, что они говорят о том, что большинство простых диалогов не требуют удержания Alt. Они могут знать, а могут и не знать, что технически вы должны удерживать Altакселераторы для работы и не требовать, чтобы это было удобством / бонусом, поэтому упоминание это полезно, но вопрос, который задают, заключается в том, почему он не работает должным образом (независимо от того, правильно ли ожидание или нет).
Synetech