如何在退出时左键单击?

How to do a left click up on exit?

我正在编写一个非常简单的脚本来按住左键单击。我很可能把这个复杂化了,但我希望能够在我想要的时候退出脚本,并在退出时左键单击 go up。我尝试了一个循环,但我不太清楚如何暂停它,因为我希望它在取消暂停时立即返回到鼠标按下状态。无论如何,这是我正在使用的当前代码:

=::

click, down

-::ExitApp
OnExit("ClickUp")

ClickUp(ExitReason)
{   
  if ExitReason in Exit
  {
  click, up
  }
}
return

主要问题是您的 OnExit("ClickUp") 行是无法访问的代码。
它永远不会被执行,因此您的脚本在退出时没有定义为 运行 的函数。
这是无法访问的代码,因为您的脚本会在到达第一个热键标签 (=::) 时结束代码执行。
这叫做 auto-execute section.

要解决这个问题,您只需将 OnExit("ClickUp") 行设置在您的自动执行部分中。也许将其作为脚本的第一行。

既然我把它称为主要问题,那么肯定还有一些其他问题。我会称其他问题为诅咒代码


=::

click, down

您永远不会结束热键标签的代码执行。幸运的是,下面没有什么可执行的,但这很容易导致不需要的行为。
在这种情况下,使用 Return 结束代码执行或使用单行热键:
=::click, down


if ExitReason in Exit
您可能想要这样做:
if (ExitReason = "Exit")
虽然,我不推荐它。我认为你根本不需要这个支票,所有退出原因都应该没问题(?)


然后最后一行的 Return 没有用。
这是您完成的脚本:

OnExit("ClickUp")

=::Click, Down
-::ExitApp

ClickUp()
{   
    Click, Up
}

/*
Or, if the exit reason checking
was somehow needed, use this version

ClickUp(ExitReason)
{   
    if (ExitReason = "Exit")
        Click, Up
}
*/