模拟鼠标移动和点击
2016-05-05 16:54
225 查看
模拟鼠标点击很常用,
模拟鼠标移动不常用,但是当你用到时就明白了。
该加的控件都加上,命名随意。
代码很少
SetCursorPos和mouse_event MOUSEEVENTF_MOVE的区别是,
其中一个可以禁止屏保。
如果要加全局热键,自行添加。
如果要托盘化,自行添加。
模拟鼠标移动不常用,但是当你用到时就明白了。
该加的控件都加上,命名随意。
代码很少
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long 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) Private Type POINTAPI x As Long y As Long End Type Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Dim p As POINTAPI Private Const MOUSEEVENTF_LEFTDOWN = &H2 Private Const MOUSEEVENTF_LEFTUP = &H4 Private Const MOUSEEVENTF_MOVE = &H1 Dim b As Boolean Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Command3_Click() If Val(Text1) > 60000 Then Text1 = 60000 Timer1.Interval = Val(Text1) Timer1.Enabled = False Timer1.Enabled = True End Sub Private Sub Form_Load() Combo1.AddItem "MouseMove" Combo1.AddItem "MouseClick" Combo1.ListIndex = 0 Timer1.Interval = Val(Text1) End Sub Private Sub Timer1_Timer() If Combo1.ListIndex = 0 Then GetCursorPos p If b = False Then 'Call SetCursorPos(p.x + 5, p.y) mouse_event MOUSEEVENTF_MOVE, 5, 0, 0, 0 b = True Else 'Call SetCursorPos(p.x - 5, p.y) mouse_event MOUSEEVENTF_MOVE, -5, 0, 0, 0 b = False End If Else mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 End If End Sub
SetCursorPos和mouse_event MOUSEEVENTF_MOVE的区别是,
其中一个可以禁止屏保。
如果要加全局热键,自行添加。
如果要托盘化,自行添加。
相关文章推荐
- LeetCode刷题:Linked List Cycle 及其进阶Linked List Cycle II
- Java设计模式之代理模式
- 编写自己的JDBC框架
- 关于JSON的格式
- Android中应用程序如何获得系统签名权限
- 计算机视觉/机器学习/深度学习预备知识
- 重力加速度陀螺仪传感器MPU-6050
- 好RESTful API的设计原则
- c++ 多态
- mjRefresh使用指南
- 如何用ps来切分图片
- swift 监听键盘状态
- 程序员技术练级攻略
- awk支持多个记录分隔符的写法
- IE hack
- 适合于小团队产品迭代的APP测试流程
- 修复 Sync with Gradle for project ' ' failed: 拒绝连接问题
- Javascript Unicode转换函数
- 多线程—wait,notify(针对方法synchronized)
- 欢迎使用CSDN-markdown编辑器