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为最小值(含)。

根据这些信息,让我们创建一个名为 generateNewRandomsubroutine,每次我们想要重新生成随机数时都可以调用它。

在这个例子中,我将 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

简而言之:

  • 通配符 (*) 激活热键,即使其他修改键(例如 ShiftCtrl 被按住
  • 波浪号 (~) 允许热键的本机功能在触发热键时仍然发生。
  • 美元符号 ($) 允许热键 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