Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autohotkey 鼠标按钮按下时单击垃圾邮件自动热键_Autohotkey - Fatal编程技术网

Autohotkey 鼠标按钮按下时单击垃圾邮件自动热键

Autohotkey 鼠标按钮按下时单击垃圾邮件自动热键,autohotkey,Autohotkey,我正在尝试制作一个自动热键脚本,每当我按住鼠标左键时,它就会发送垃圾邮件,但当我释放它时,它就会停止发送垃圾邮件。我已经开始了,但是它没有按照我想要的方式工作。我只是得到两次点击,然后它停止了,即使我一直按住鼠标按钮。这是我的密码: while (true) { GetKeyState, OutVar, LButton while (OutVar = "D") { Send {lbutton} GetKeyState, OutV

我正在尝试制作一个自动热键脚本,每当我按住鼠标左键时,它就会发送垃圾邮件,但当我释放它时,它就会停止发送垃圾邮件。我已经开始了,但是它没有按照我想要的方式工作。我只是得到两次点击,然后它停止了,即使我一直按住鼠标按钮。这是我的密码:

while (true) {
    GetKeyState, OutVar, LButton
    while (OutVar = "D") {
        Send {lbutton}
        GetKeyState, OutVar, LButton
    }
}

这就是我用来测试鼠标点击的方法。

使用
Send
更改按钮状态会干扰
GetKeyState
。您可以通过使用
GetKeyState
中的
P
模式来解决此问题,该模式检索密钥的物理(真实)状态

#InstallMouseHook
Loop {
    BtnIsDown := GetKeyState("LButton", "P")
    While (BtnIsDown) {
        Send {LButton}
        BtnIsDown := GetKeyState("LButton", "P")
    }
}
或者,如果您不需要发送button up事件,您可以使用以下方法:

Loop {
    BtnIsDown := GetKeyState("LButton")
    While (BtnIsDown) {
        Send {LButton Down}
        BtnIsDown := GetKeyState("LButton")
    }
}
简单地说

Loop {
    if GetKeyState("LButton")
        Send {LButton Down}
    else
        Break
}
return

仅供参考,在谷歌上搜索你的帖子名“鼠标按下自动热键时垃圾邮件点击”,会找到几个可以解决你问题的项目。只是说说而已。