我需要一个可以执行此脚本正在执行的操作的脚本:
~Escape::
If (A_ThisHotkey=A_PriorHotkey && A_TimeSincePriorHotkey<250)
Send !{F4}
return
当快速按两次Esc键时,此脚本会发送Alt + F4。
我需要一个脚本,当鼠标在不到一秒的时间内触摸屏幕的右边缘两次时,该脚本可以发送击键。如果鼠标只触摸边缘一次就不会发生任何事情。
有人知道这是否可以用autohotkey实现?
答案 0 :(得分:1)
我写了一个应该回答你问题的脚本。每10毫秒,我们得到鼠标的位置。如果它在边缘并且现在已经离开它,我们将其视为“点击”并开始1秒计时器(1000毫秒,代码中的实际参数为负,因为我们希望它只运行一次)。每次点击也会将taps
递增1,因此我们可以跟踪有多少个点按。在1秒计时器结束时,我们看到用户是否已经轻敲屏幕边缘两次。如果是这样,请发送Alt-F4击键!
;; by default ahk gets mouse coordinates relative to the active
;; window, this sets it to use absolute coordinates
CoordMode, Mouse, Screen
;; how often to get the mouse position in milliseconds
UPDATE_INTERVAL := 10
RIGHT_EDGE := A_ScreenWidth - 1
;; make the script run forever
#Persistent
SetTimer, WatchCursor, %UPDATE_INTERVAL%
return
WatchCursor:
MouseGetPos, xpos
;; a tap is defined by touching and leaving the edge,
;; we don't want to count holding the mouse at the edge
;; as a tap
if (prev = RIGHT_EDGE && xpos != RIGHT_EDGE) {
taps += 1
; negative time means run once
SetTimer, EdgeTimer, -1000
}
prev := xpos
return
EdgeTimer:
;; more than 2 taps are ignored
if (taps = 2) {
Send !{F4}
}
taps := 0
return