-1

На самом деле никогда не использовал AutoHotkey или слишком много программировал, но я надеялся, что кто-нибудь может помочь мне создать скрипт для следующего:

При нажатии CTRL+ALT+DEL> вместо этого отправьте CTRL+ALT+END.

2 ответа2

1

Я не верю, что ОС Windows позволит вам переназначить эту комбинацию

Однако CTL+ALT+DEL - это специальная последовательность клавиш в операционных системах на базе Windows NT (NT, 2000 и XP). В этих системах CTL+ALT+DEL называется последовательностью особого внимания (или SAS), и она глубоко связана с системой безопасности NT, что делает невозможным блокирование этой последовательности в коде.

Источник

Даже если бы вы могли, основываясь на вашем комментарии, это означало бы обновление всех машин ... Это означает, что пользователь не сможет использовать эту комбинацию вообще, если только вы не определите, как был открыт сеанс RDP.

Вместо этого вам нужно устранить проблему, обучив персонал тому, что CTRL+ALT+DEL для локального компьютера и CTRL+ALT+END для удаленного сеанса.

1

@ Дейв имеет правильный ответ здесь. Windows явно отрицает возможность захвата или моделирования этой комбинации клавиш. Все, что AutoHotkey может сделать, это обойти это. Вот несколько ссылок из справочных файлов AHK:

BlockInput

Когда действует BlockInput, пользовательский ввод блокируется, но AutoHotkey может симулировать нажатия клавиш и щелчки мыши. Однако нажатие Ctrl+Alt+Del снова включит ввод из-за функции Windows API.

Send / SendRaw / SendInput / SendPlay / SendEvent (Общие замечания)

Поскольку операционная система не позволяет имитировать комбинацию CTRL-ALT-DELETE, выполните что-то вроде Send ^!{Delete} будет иметь никакого эффекта.

SendPlay

В отличие от SendInput и SendEvent, пользователь может прервать SendPlay, нажав Control-Alt-Del или Control-Escape. Когда это происходит, оставшиеся нажатия клавиш не отправляются, но сценарий продолжает выполняться, как если бы SendPlay завершился нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .