Autohotkey 自动热键如何在按键时按住鼠标键?

Autohotkey 自动热键如何在按键时按住鼠标键?,autohotkey,Autohotkey,简言之: 我如何编写一个自动热键脚本,这样当我按下F1键时,它会按下鼠标键,并且只在我放开键后才放开它 我在自动热键论坛(这里重定向用于提问)和文档中都做了一些研究,但我不是程序员,很难理解循环 我试着做while或if(getkeystate(“F1”)循环,但我一直出错,直到最后我得到了这个脚本,它几乎可以工作 F2::Click down right F2 Up::Click up right F1::Click down F1 Up::Click up 当我说差不多的时候,我的意思是它

简言之: 我如何编写一个自动热键脚本,这样当我按下F1键时,它会按下鼠标键,并且只在我放开键后才放开它

我在自动热键论坛(这里重定向用于提问)和文档中都做了一些研究,但我不是程序员,很难理解循环

我试着做while或if(getkeystate(“F1”)循环,但我一直出错,直到最后我得到了这个脚本,它几乎可以工作

F2::Click down right
F2 Up::Click up right
F1::Click down
F1 Up::Click up
当我说差不多的时候,我的意思是它没有按住鼠标键。相反,我得到的是鼠标点击的速度非常快。这对于大多数情况来说已经足够好了,比如游戏,基本上相当于按住鼠标键,或者拖动窗口,但是当我想突出显示一个较长的段落时,它不起作用。一两秒钟后整个事情开始闪烁或选择重置,在中间选择等。基本上,它做什么通常会发生,如果你只是继续点击鼠标按钮真的很快。 这也是本问题中发布的相同解决方案

我最初在它下面贴了一个后续问题,但显然这是不允许的,它被删除了,所以我必须创建另一个同名的问题,因为我想要相同的东西

请帮助我或让我明白我做错了什么

F1::
    if( not GetKeyState("LButton" , "P") )
        Click down
return

F1 Up::Click up

右键点击也是一样,我知道我错过了一些简单的东西,但没有编码经验,只是对事物如何工作的基本理解,我无法正确地理解这个问题。非常感谢你提供了干净整洁的解决方案。我从来没有想过简单地添加一个检查,看看按钮是否已经按下这是一个复制品,但是一个更好的问题。