我希望我的主页按钮(单击)充当PrintScreen,双击主页按钮充当主页。我无法让它发挥作用。
在我之前使用的代码之下,反之亦然(双击使其充当PrintScreen,一次充当Home)。这确实有效。
有人可以告诉我在脚本中需要更改的内容吗?
~Home::
if (A_PriorHotKey = "~Home" AND A_TimeSincePriorHotkey < 400)
{
Send, {PrintScreen}
;Msgbox,Double press detected.
}
Sleep 0
KeyWait Home
return
答案 0 :(得分:2)
请勿使用~
通过热键,使用$
表示您可以在其处理程序中发送您覆盖的热键。检查A_PriorKey
而不是A_PriorHotKey
,以便过滤掉快速输入的非热键按键序列,例如 Home a Home
这会在doublepress上发送 Home 但是在检测到doublepress之前它还会发送 PrintScreen :
Home::send % A_PriorKey="Home" && A_TimeSincePriorHotkey<400 ? "{Home}" : "{PrintScreen}"
这可以通过将 PrintScreen 延迟400毫秒来解决上述问题:
$Home::
if (A_PriorKey = "Home" && A_TimeSincePriorHotkey < 400) {
settimer, sendPrintScreen, off
send {Home}
} else {
settimer, sendPrintScreen, 400
}
return
sendPrintScreen:
settimer, sendPrintScreen, off
if (A_PriorKey = "Home")
send {PrintScreen}
return