AHK 脚本每 X 次左键单击双击一次(每两次单击随机双击)
AHK Script to Double-Click every X number of Left Clicks (Randomly Double-Click Every Couple Clicks)
我想知道是否有办法编写一个 AHK 脚本来双击鼠标左键,每次随机点击左键次数(随机双击每对点击一次)
绝对
从 the docs 开始,我们有 Random
函数
Generates a pseudo-random number.
使用语法
Random, OutputVar , Min, Max
其中OutputVar
为输出变量,Min
为最小值(含),Man
为最小值(含)。
根据这些信息,让我们创建一个名为 generateNewRandom
的 subroutine,每次我们想要重新生成随机数时都可以调用它。
在这个例子中,我将 Min
设置为 1,将 Max
设置为 10,以便生成介于 [1, 10]
之间的随机数。您可以根据需要更改这些值。
我们将 Random
函数的输出保存到一个名为 NumClicks
.
的变量中
接下来,让我们创建一个 hotkey,它会在每次单击鼠标左键时触发。
但是,这个热键需要几个不同的modifiers (namely: *, ~, and $) in order to function properly. You can find out more about them in the docs。
简而言之:
- 通配符 (*) 激活热键,即使其他修改键(例如 Shift 或 Ctrl 被按住
- 波浪号 (~) 允许热键的本机功能在触发热键时仍然发生。
- 美元符号 ($) 允许热键
Send
本身而不会导致无限循环。
对于热键本身,当按下 LButton(鼠标左键)时,执行以下操作:
- 减少 numClicks
- 如果
numClicks
为 0
- 再次点击
- 生成一个新的随机数
除了子程序和热键,我们还需要在自动执行部分以生成初始随机值。
最终脚本:
gosub generateNewRandom ;Generate initial random number
*~$LButton::
numClicks--
if(numClicks==0){
Click
gosub generateNewRandom ;Generate subsequent random numbers
}
return
generateNewRandom:
Random, numClicks , 1, 10 ;Adjust these values as needed
return
我想知道是否有办法编写一个 AHK 脚本来双击鼠标左键,每次随机点击左键次数(随机双击每对点击一次)
绝对
从 the docs 开始,我们有 Random
函数
Generates a pseudo-random number.
使用语法
Random, OutputVar , Min, Max
其中OutputVar
为输出变量,Min
为最小值(含),Man
为最小值(含)。
根据这些信息,让我们创建一个名为 generateNewRandom
的 subroutine,每次我们想要重新生成随机数时都可以调用它。
在这个例子中,我将 Min
设置为 1,将 Max
设置为 10,以便生成介于 [1, 10]
之间的随机数。您可以根据需要更改这些值。
我们将 Random
函数的输出保存到一个名为 NumClicks
.
接下来,让我们创建一个 hotkey,它会在每次单击鼠标左键时触发。
但是,这个热键需要几个不同的modifiers (namely: *, ~, and $) in order to function properly. You can find out more about them in the docs。
简而言之:
- 通配符 (*) 激活热键,即使其他修改键(例如 Shift 或 Ctrl 被按住
- 波浪号 (~) 允许热键的本机功能在触发热键时仍然发生。
- 美元符号 ($) 允许热键
Send
本身而不会导致无限循环。
对于热键本身,当按下 LButton(鼠标左键)时,执行以下操作:
- 减少 numClicks
- 如果
numClicks
为 0- 再次点击
- 生成一个新的随机数
除了子程序和热键,我们还需要在自动执行部分以生成初始随机值。
最终脚本:
gosub generateNewRandom ;Generate initial random number
*~$LButton::
numClicks--
if(numClicks==0){
Click
gosub generateNewRandom ;Generate subsequent random numbers
}
return
generateNewRandom:
Random, numClicks , 1, 10 ;Adjust these values as needed
return