GetAsyncKeyState(VK_LBUTTON)具体用法?

xzdylyh 2010-09-24 01:12:50
GetAsyncKeyState(VK_LBUTTON)

的具体用法:

怎么去捕获鼠标单击和双击事件

希望个位大xia能给vb.net出代码

例:以下捕获的不对啊.

Dim ws As IO.StreamWriter = New IO.StreamWriter("C:\mouse2.txt", True)

'判断是否按下左键或右键,如果按下在文件中记录True否则记录False
If GetAsyncKeyState(VK_LBUTTON) > 0 Then

ws.WriteLine("True" & "," & "False")
System.Threading.Thread.Sleep(300)
else

ws.WriteLine("False" & "," & "False")
End If
ws.Flush()
ws.Close()
...全文
1593 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-09-29
  • 打赏
  • 举报
回复
直接else不就可以了。还elseif啥
xzdylyh 2010-09-29
  • 打赏
  • 举报
回复
#3楼能出来指点下吗....

keys = WinApi.GetAsyncKeyState(WinApi.VK_LBUTTON)

If keys And &H8000 Then
System.Threading.Thread.Sleep(150)
keys = WinApi.GetAsyncKeyState(WinApi.VK_LBUTTON)
'MsgBox("左键被按下")
write()
'ElseIf keys = 1 Then
' write2()
End If

以上代码,判断鼠标单击没问题,可是怎么去写没单击的代码吗比如,如果我没单击的的话输出msgbox "未按下".以上写的不正确.因为单击可能还有别的条件 
xzdylyh 2010-09-28
  • 打赏
  • 举报
回复
谢谢,可是VK_LBUTTON是定义的一个常量啊.public const VK_LBUTTON = &H1

我试试.
大刘0417 2010-09-26
  • 打赏
  • 举报
回复
学习中,只帮顶!
兔子-顾问 2010-09-26
  • 打赏
  • 举报
回复
If GetAsyncKeyState(VK_LBUTTON) > 0 Then
改为
If GetAsyncKeyState(VK_LBUTTON) and VK_LBUTTON = &H80 Then
这样试试。没测试,影像中是这样做。
xzdylyh 2010-09-26
  • 打赏
  • 举报
回复
等这么久就你一个回复,哎.继续等....

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧