Autohotkey 如何让我的自动热键脚本在单击屏幕的某个区域时激活,然后在单击屏幕的另一个区域之前停用?

Autohotkey 如何让我的自动热键脚本在单击屏幕的某个区域时激活,然后在单击屏幕的另一个区域之前停用?,autohotkey,Autohotkey,我正在用自动热键编写我的第一个脚本。我努力实现的目标如下: 当屏幕的某个区域被单击时,我希望脚本在屏幕上单击特定单词的位置运行。然后,我希望禁用脚本,直到我单击屏幕的另一个区域(如else if中所指定) 当前脚本已运行一次后(将c设置为1后)会偶尔激活 c=0 #IfWinActive,ahk_exe C:\Program Files(x86)\Hearthstone\Hearthstone.exe ~LButton:: 鼠标,x,y 如果(c=0,x>1700,x1600,y2620,x15

我正在用自动热键编写我的第一个脚本。我努力实现的目标如下:

当屏幕的某个区域被单击时,我希望脚本在屏幕上单击特定单词的位置运行。然后,我希望禁用脚本,直到我单击屏幕的另一个区域(如
else if
中所指定)

当前脚本已运行一次后(将
c
设置为
1
后)会偶尔激活

c=0
#IfWinActive,ahk_exe C:\Program Files(x86)\Hearthstone\Hearthstone.exe
~LButton::
鼠标,x,y
如果(c=0,x>1700,x<2150,y>1600,y<1800){
c=1
工具提示,c为%c%
睡吧,1000
鼠标集,当前X,当前Y
协作模式、鼠标、屏幕
点击,右键,1940410
睡吧,200
点击,1610200
鼠标移动,当前X,当前Y
返回
}
否则如果(x>2620,x<3000,y>1590,y<1950){
c=0
工具提示,c为%c%
}

它确实有效。这个numpty同时运行了一个较旧版本的脚本,这就是导致问题的原因

因此,任何需要做类似事情的人——这是为您准备的脚本!=)

c = 0

#IfWinActive, ahk_exe C:\Program Files (x86)\Hearthstone\Hearthstone.exe 
~LButton::
MouseGetPos, x, y
if (c = 0 and x > 1700 and x < 2150  and y > 1600 and y < 1800) {
  c = 1
  Tooltip, c is %c%
  Sleep, 1000
  MouseGetPos, currentX, currentY
  CoordMode, Mouse, Screen
  Click, Right, 1940, 410
  Sleep, 200
  Click, 1610, 200
  MouseMove, currentX, currentY
  return
}

else if (x > 2620 and x < 3000  and y > 1590 and y < 1950) {
  c = 0
  Tooltip, c is %c%
}