找回密码
 加入
搜索
查看: 4503|回复: 6

[AU3基础] 求助:如何用键盘模拟鼠标长按效果【已解决】

  [复制链接]
发表于 2013-11-19 08:34:16 | 显示全部楼层 |阅读模式
本帖最后由 liulong1567 于 2013-11-19 20:12 编辑

我设置了一个热键,比如:F1键。我想实现点击F1键就是点击鼠标左键的效果。于是我就写了一句话:HotKeySet("{F1}", "OnMouseLeft"),可是这样实现不了鼠标长按效果。如果我一直按住F1键,就会连续响应OnMouseLeft函数,而这不是我想要的。

有谁会这个技术? 指教指教吧
发表于 2013-11-19 08:41:40 | 显示全部楼层
MouseClickDownDelay        更改在松开按键之前按住按钮的时间长度.
以毫秒为单位(默认值 = 10).



Opt('MouseClickDownDelay' , 1000) ;按住按钮1秒 
发表于 2013-11-19 09:22:29 | 显示全部楼层
MouseDown("left")
Sleep(5000)
MouseUp("left")
发表于 2013-11-19 18:55:40 | 显示全部楼层
本帖最后由 zldfsz 于 2013-11-19 18:58 编辑

#include <Misc.au3>
HotKeySet("{F1}", "OnMouseLeft")
While 1
        Sleep(1)
        If _IsPressed("1B") Then ExitLoop;ESC键退出
WEnd
Func OnMouseLeft()
        If _IsPressed("70") Then
                HotKeySet("{F1}")
                MouseDown("left")
                While _IsPressed("70")
                        Sleep(1)
                WEnd
                MouseUp("left")
        EndIf
        Sleep(1)
        HotKeySet("{F1}", "OnMouseLeft")
EndFunc   ;==>OnMouseLeft
 楼主| 发表于 2013-11-19 20:10:22 | 显示全部楼层
回复 4# zldfsz


    大神呀,要的就是这个效果,这代码之清晰、这流程之精炼、这效果之满意,让我十分佩服。感谢感谢呀!!!!!
发表于 2013-11-19 21:44:40 | 显示全部楼层
回复 5# liulong1567
其实这是帮助文件里面的代码,我就修改一下就这样了
 楼主| 发表于 2013-11-20 10:59:46 | 显示全部楼层
回复 6# zldfsz


    大神:你这个代码我调试了一下,可以达到我想要的的效果,可是有一点不好的是:假如我设置了A键为模拟鼠标左键效果,但是在一直按住键盘A键的时候,还是会向系统发送点击A键消息,如何才能不发送按键消息只发送鼠标消息呢?  等待您的回复,这问题我昨晚想了好久没有结果呢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 06:33 , Processed in 0.082656 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表