Отображение RightAlt+Ctrl+a для отправки Ctrl+Delete?

У меня есть следующая карта:

>!+a::SendInput,+{Delete}

Предполагается, что он отправляет Ctrl+Delete (удалить слово после курсора), когда я нажимаю RightAlt+Ctrl+a, но вместо этого он отправляет сигнал Ctrl+Alt+Delete, поэтому он вызывает меню выключения Windows 7, запуск диспетчера задач и т. д.

Как послать правильный сигнал?

Ценим любую помощь!


person vexe    schedule 27.10.2015    source источник


Ответы (1)


Проблема, с которой вы столкнулись, заключается в том, что Ctrl + Alt + Delete жестко закодирован и непрерывный. Обойти это просто невозможно, если вы нажмете эту последовательность, даже с включенным Command BlockInput, Windows снова включит ввод и выполнит команду...

Пытаться:

>!^a:: ; + symbol is Shift ^ represents Ctrl key
KeyWait, RAlt ; Waits for Right Alt to be released before Ctrl Delete is sent
SendInput,{Ctrl Down}{Delete}{Ctrl Up}
Return

Альтернатива, хотя она работает точно так же:

>!^a:: 
While (GetKeyState("RAlt", "P"))
    Continue
SendInput,{Ctrl Down}{Delete}{Ctrl Up}
Return

Я продолжу искать другие варианты... на данный момент я не могу придумать лучшего способа сделать это.

person errorseven    schedule 27.10.2015
comment
Спасибо за ответ! Я бы предпочел не ждать выпуска RAlt, потому что в него включено гораздо больше комбинаций клавиш, поэтому он менее удобен. Любые другие способы? А что с частью Ctrl Up и Down? - person vexe; 27.10.2015
comment
Пытаясь отключить Ctrl-Alt-Delete все вместе, похоже, не удается найти прямое решение, не возясь с кодами сканирования и отключая клавишу alt. - person vexe; 27.10.2015
comment
Сейчас это кажется лучшим решением. Вместо того, чтобы ждать клавиши Alt, я ждал LCtrl. Дайте мне знать, если вы придумали лучшую идею. - person vexe; 27.10.2015
comment
Спасибо за принятие ответа, я посмотрю, какие еще решения я могу придумать. - person errorseven; 27.10.2015