vb用mouse_event模拟鼠标双击为啥没有效果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb用mouse_event模拟鼠标双击为啥没有效果?相关的知识,希望对你有一定的参考价值。

模拟单击没有问题,但是双击就没用。
代码如下
SetCursorPos 10, 15
Mouse_Event 6, 0, 0, 0, 0
Mouse_Event 6, 0, 0, 0, 0
这种没用,只有单击效果,于是加上延时和Doevents试试
改成这样
SetCursorPos 10, 15
Mouse_Event 6, 0, 0, 0, 0
SleepPlus 200 '这是一个自己写的延时程序
Mouse_Event 6, 0, 0, 0, 0
也没用,也只有单击效果,我看网上的代码都是这样写的啊,怎么我就不行??
或者各位还有其他的模拟鼠标按键的方法吗,急用,能解决问题的加50分!!!

参考技术A Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
直接用sleep吧,用你自定义的也可以
按下左键,放开,延时,再按下,再放开:
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
Sleep 10
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
参考技术B 若果想实现双击的话,最好在第一次鼠标左键按下后,在添加鼠标左键弹起,然后再次按下,再次弹起,所以总共是四次mouse_event. 参考技术C Mouse_Event 6, 0, 0, 0, 0
SleepPlus 200 '这是一个自己写的延时程序
Mouse_Event 6, 0, 0, 0, 0

这个肯定不行啦 。一个是按下,一个是弹起。还是看下MOUSE_EvENT 是怎么用吧。

以上是关于vb用mouse_event模拟鼠标双击为啥没有效果?的主要内容,如果未能解决你的问题,请参考以下文章

win32API的mouse_event方法怎么用 MOOSEEVENTF_RIGHTDOWN不起使用啊,win7系统

猎豹MFC--模拟键盘消息keybd_event mouse_event

如何模拟后台鼠标点击功能? SendMessage 和PostMessage 都无效。

vb后台模拟鼠标点击网页

vb 内置浏览器 如何模拟鼠标操作

SendMessage, postmessage模拟鼠标左键