Я использую StrokesPlus (жесты мыши, использующие SendKeys) со следующим ярлыком для закрытия окон:
acSendKeys("{DELAY=50}^{F_4}")
Окна по умолчанию закрываются с помощью control+w, но не все программы принимают это (UltraEdit, например, использует control+F4 — с control+w для переключения переноса слов, что я часто использую).
Я также использую Florian Winkelbauer 4 Clip, который привязывает F1-F4 к буферу обмена, поэтому F1+c, F1+ v etc для копирования/вставки в первый буфер обмена. Пример креплений от 4clip ниже.
*F1::SendInput {blind}{F1}
*F2::SendInput {blind}{F2}
*F3::SendInput {blind}{F3}
*F4::SendInput {blind}{F4}
; F3 + F$
F3 & F4::
Gosub SetDelimiter
return
; F4
F4 & c::CopyClipboard(4)
F4 & a::AppendClipboard(4)
F4 & s::SwapClipboard(4)
F4 & p::PrintClipboard(4)
F4 & v::PasteClipboard(c4)
F4 & b::PasteClipboard(cp4)
F4 & d::Clear(4)
Проблема, которую я обнаружил, заключается в том, что когда я использую ярлык StrokesPlus, окно закрывается, но затем система остается, как если бы клавиша управления все еще была нажата: я могу нажать выход, и появляется меню «Пуск» (так же, как это происходит, когда вы нажимаете Ctrl + побег).
Я воспроизвел это как на 64-разрядной версии Windows 7, так и на 64-разрядной версии Windows XP.
Я подтвердил, что если я закомментирую все привязки F4 в 4 клипах, проблема исчезнет.
Я также разместил это на форуме StrokesPlus и форум Autohotkey.