cyl675 发表于 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 已经足够了

cyl675 发表于 2011-7-14 18:42:22

_IsPressed完美解决,谢谢,飘云 ,风行者 大大
页: [1]
查看完整版本: [已解决]如何获取当前鼠标左键是否处于按下状态