易语言鼠标点击事件模块

易语言 2020-08-24 17:22:14

易语言鼠标点击事件模块

.子程序 模拟鼠标点击事件, , 公开, 模拟一次鼠标事件。
.参数 鼠标横坐标, 整数型, , 目标鼠标的横向坐标。
.参数 鼠标纵坐标, 整数型, , 目标鼠标的纵向坐标。
.参数 点击类型, 整数型, 可空, 0、#鼠标点击事件_左键单击,1、#鼠标点击事件_左键双击,2、#鼠标点击事件_右键单击,3、#鼠标点击事件_右键双击,4、#鼠标点击事件_中键单击,5、#鼠标点击事件_中键双击,6、#鼠标点击事件_左键按下,7、#鼠标点击事件_左键放开,8、#鼠标点击事件_右键按下,9、#鼠标点击事件_右键放开,10、#鼠标点击事件_中键按下,11、#鼠标点击事件_中键放开,。默认值为0,为-1时只移动鼠标位置。
.局部变量 鼠标目标位置信息, 坐标_
.局部变量 循环次数为, 整数型

' 在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
鼠标目标位置信息.横向位置 = 鼠标横坐标 × 65535 ÷ 取环境信息_ (0) ' #SM_CXSCREEN
鼠标目标位置信息.纵向位置 = 鼠标纵坐标 × 65535 ÷ 取环境信息_ (1) ' #SM_CYSCREEN
' 将鼠标移动到坐标上……
模拟鼠标_ (-32767, 鼠标目标位置信息.横向位置, 鼠标目标位置信息.纵向位置, 0, 取硬件消息信息_ ())
.如果真 (点击类型 = -1) ' 为-1时只移动鼠标位置……
返回 ()
.如果真结束
.如果 (点击类型 < 6)
.如果 (点击类型 = 0 或 点击类型 = 1)
.计次循环首 (1 + 点击类型, )
模拟鼠标_ (2, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_LEFTDOWN '鼠标左键被按下。
模拟鼠标_ (4, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_LEFTUP '鼠标左键被放开。
.计次循环尾 ()
.否则
.如果 (点击类型 = 2 或 点击类型 = 3)
.计次循环首 (点击类型 - 1, )
模拟鼠标_ (8, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_RIGHTDOWN '鼠标左键被按下。
模拟鼠标_ (16, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_RIGHTUP '鼠标左键被放开。
.计次循环尾 ()
.否则
.如果 (点击类型 = 4 或 点击类型 = 5)
.计次循环首 (点击类型 - 3, )
模拟鼠标_ (32, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_MIDDLEDOWN '鼠标左键被按下。
模拟鼠标_ (64, 0, 0, 0, 取硬件消息信息_ ()) ' ##MOUSEEVENTF_MIDDLEUP '鼠标左键被放开。
.计次循环尾 ()
.否则
模拟鼠标_ (2, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_LEFTDOWN '鼠标左键被按下。
模拟鼠标_ (4, 0, 0, 0, 取硬件消息信息_ ()) ' #MOUSEEVENTF_LEFTUP '鼠标左键被放开。
.如果结束

.如果结束

.如果结束

.否则
.如果 (点击类型 = 6 或 点击类型 = 7)
模拟鼠标_ (4 ÷ (8 - 点击类型), 0, 0, 0, 取硬件消息信息_ ())
.否则
.如果 (点击类型 = 8 或 点击类型 = 9)
模拟鼠标_ (16 ÷ (10 - 点击类型), 0, 0, 0, 取硬件消息信息_ ())
.否则
.如果 (点击类型 = 10 或 点击类型 = 11)
模拟鼠标_ (128 ÷ (12 - 点击类型), 0, 0, 0, 取硬件消息信息_ ())
.否则
模拟鼠标_ (2, 0, 0, 0, 取硬件消息信息_ ())
模拟鼠标_ (4, 0, 0, 0, 取硬件消息信息_ ())