找回密码
 加入
搜索
查看: 2788|回复: 3

[AU3基础] [已解决]如何获取当前鼠标左键是否处于按下状态

[复制链接]
发表于 2011-7-13 08:17:29 | 显示全部楼层 |阅读模式
本帖最后由 cyl675 于 2011-7-14 18:43 编辑

在一个程序中要对当前鼠标左键状态判断,按下左键执行一个无限循环,松开左键,循环退出
具体如下:
 While 1

MOUSE_HOOK()
IF  左键按下 then
 While 1
代码a
检测左键是否已松开,如果否
代码b
检测左键是否已松开,如果否
代码c
检测左键是否已松开,如果否
代码d
检测左键是否已松开,如果否
............
WEnd

endif

WEnd
如果能将循环做成线程也可以
 
dim $a as Bool=ture
While 1
MOUSE_HOOK()
Switch $mouse
        Case 左键按下
               $a=ture
                线程:
                      while1
                              if $a then  代码a
                              if $a then  代码b
                              if $a then  代码c
                              if $a then  代码d
                              ...............
                wend
                              线程结束        
        Case 左键松开
           $a=false                
EndSwitch
WEnd
au3多线程我不会,各位会的朋友抽点空看看,给个指点,或者其他方法解决也可,MouseGetCursor()不行,无论什么情况下都返回0
发表于 2011-7-13 19:21:55 | 显示全部楼层
MouseGetCursor是获取鼠标ID的,又不是状态,状态用_IsPressed试试,另外应该可以通过hook鼠标来确认吧
发表于 2011-7-13 23:46:57 | 显示全部楼层
_IsPressed 已经足够了
 楼主| 发表于 2011-7-14 18:42:22 | 显示全部楼层
_IsPressed完美解决,谢谢,飘云 ,风行者 大大
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 23:45 , Processed in 0.072781 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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