mouse_event失败问题,请教!HELP!

lovefool 2005-05-13 03:19:17
想控制鼠标对另一个外部应用程序进行操作,实现鼠标自动点击菜单,确定了菜单项的坐标,直接用mouse_event来控制点击(因为该应用程序的菜单在工具栏里,我得不到菜单的句柄)
下面的程序段里运行后第一次单击是点中菜单项,弹出一个下拉菜单,第二次单击是点击下拉菜单的其中一项。
奇怪的是在运行时有时候可以顺利完成,但有时候第2次点击不执行,这是什么原因呢?是和WINDOWS的消息机制有关么?怎么解决呢?谢谢了!

程序段如下:

Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MOVE = &H1

Dim i As Integer
Dim j As Boolean

i = Shell("C:\Program Files\RSIS\RPLS.exe", vbHide) '启动应用程序
j = SetCursorPos(30, 33)
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo()’第一次单击
mouse_event MOOSE_EVENTF_ABSOLOTE Or MOUSEEVENTF_MOVE, 50 * 65535 / 1024, 55 * 65535 / 768, 0, GetMessageExtraInfo()
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo()‘第二次单击
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovefool 2005-05-16
  • 打赏
  • 举报
回复
呵呵,加上延时已经解决,多谢!
MmMVP 2005-05-15
  • 打赏
  • 举报
回复
加上延时试试呢?
oyljerry 2005-05-15
  • 打赏
  • 举报
回复
分析一下点击的顺序是否有影响,是否模拟正确

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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