我使用 Autohotkey 在按下 Alt+Control+f 时执行宏电子。
我有:
#SingleInstance
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetTitleMatchMode RegEx
#IfWinActive ^Electron
Alt::Return ;Disables the key alt when it's pressed alone
; Control & Alt & F to run macro
!^f::
{
; wait for release of keys
KeyWait Control
KeyWait Alt
KeyWait f
; reproduce sequence
SendInput ^f
sleep 200
SendInput fig{+}
Return
}
#IfWinActive
但是,如果我先按 Control 再按 Alt,它就不起作用了,菜单就像我以前只按 Alt 时一样出现(即使我单独禁用了 Alt,请参见第一行)。当我按 Alt+Control+f 时,宏可以正常工作。
这是为什么呢?我以为,无论我如何操作,触发器“!^f”都会在三个键都处于按下状态时触发。
我应该如何修改宏以使其无论 Alt 和 Control 的顺序如何都会触发?
答案1
您的代码对我有用。您使用的是哪个版本的 AutoHotKey?我的是 V1。
也许这个代码对你来说会更好:
Alt::return
#If, GetKeyState("Alt", "P") and GetKeyState("Control", "P")
!^f::
SendInput ^f
sleep 200
SendInput fig{+}
return