为一个应用程序映射鼠标点击

Map mouse click for one application

我正在尝试使用 AutoHotkey (v1.1.10) 将 "play/pause on click" 添加到 VLC 媒体播放器。

我已经成功地编写了 scriptlet,它可以满足我的要求:

#IfWinActive,VLC media player$
LButton::
MouseGetPos,XX,YY
WinGetPos, , , WW, HH, A
if ((XX >= WW*0.20) and (XX <= WW*0.80) and (YY >= HH*0.20) and (YY <= HH*0.70))
{
    Send {Space}
}
return
#IfWinActive

但是脚本有问题:我不能再在 VLC windows 之外用鼠标点击切换到另一个 window。尽管我已将重新映射限制在 VLC window.

,但 VLC window 之外的所有点击(或更准确地说:边界框之外)都将被忽略

我试过将 return 移到 if 内,但这导致了另一个奇怪的效果:在边界框外单击相当于双击。

试试波浪号 (~) prefix:

SetTitleMatchMode, 2

#IfWinActive, VLC media player

~LButton::
MouseGetPos,XX,YY
WinGetPos,,,WW,HH, A
if ((XX >= WW*0.20) and (XX <= WW*0.80) and (YY >= HH*0.20) and (YY <= HH*0.70))
    Send {Space}
return

#IfWinActive