使用API模拟鼠标事件
来源:互联网 发布:php 短信验证限制次数 编辑:程序博客网 时间:2024/06/04 13:06
Code:
Private 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)
Const MOUSEEVENTF_LEFTDOWN As Short = &H2S
Const MOUSEEVENTF_LEFTUP As Short = &H4S
Const MOUSEEVENTF_MIDDLEDOWN As Short = &H20S
Const MOUSEEVENTF_MIDDLEUP As Short = &H40S
Const MOUSEEVENTF_MOVE As Short = &H1S
Const MOUSEEVENTF_ABSOLUTE As Short = &H8000S
Const MOUSEEVENTF_RIGHTDOWN As Short = &H8S
Const MOUSEEVENTF_RIGHTUP As Short = &H10S
--------------------------------------------------------------------------------
先在程序中加入如下的声明后,就能引用mouse_event函数:
Private 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)
其中各个参数的意义如下表所示:
程序中我们这样使用mouse_event函数:
1、这里是鼠标左键按下和松开两个事件的组合即一次单击:
mouse_event MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
2、模拟鼠标右键单击事件:
mouse_event MOUSEEVENTF_RIGHTDOWN or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
mouse_event MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
如上面所示如果我们要使用两个dwFlags常数的组合时,可以用Or将其连接起来。把dx,dy参数都设为0,是指每次模拟事件的位置是鼠标的当前位置,dx,dy在没有使用MOUSEEVENTF_ABSOLUTE标志时是相对于鼠标当前位置的坐标,如果设置为使用绝对坐标,则dx,dy是相对于屏幕的坐标。
文章出自:http://www.111ccc.cn/Computer/2007/1201/article_452.html
- 使用API模拟鼠标事件
- VC API 模拟鼠标事件
- 使用API函数mouse_event可以模拟鼠标事件
- Qt使用Windows Api模拟鼠标单击双击滚轮事件
- c# 调用API mouse_event 模拟鼠标事件
- c# 调用API mouse_event 模拟鼠标事件
- 使用SWT模拟鼠标键盘事件
- 使用SWT模拟鼠标键盘事件
- keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用
- 模拟鼠标点击事件
- 模拟鼠标键盘事件
- C# 模拟鼠标事件
- QT 模拟鼠标事件
- c++模拟鼠标事件
- 鼠标键盘事件模拟
- c++--模拟鼠标事件
- C# 模拟鼠标事件
- QT 模拟鼠标事件
- 详解.Net环境下基于Ajax的MVC方案
- Java虚拟机原理
- 每个新手都要搞懂弄明白的
- vs2008打包程序需要.net3.5支持问题的解决方案
- 转:Oracle中常用的to_Char用法详解(有FMT的详细列表)
- 使用API模拟鼠标事件
- Java程序的运行机制
- 发现微软一网页的显示错误
- 动漫:大有希望
- smtp 时间差问题
- Java基础:Java Date数据类型
- RAID中有一块硬盘离线的情况下应该对其采取强制上线操作么?
- JAVA程序员面试32问,你能回答多少题?
- Java工厂模式