易语言鼠标全局钩子获取屏幕坐标和客户区坐标的几种方法

鼠标钩子获取屏幕坐标

鼠标钩子屏幕句柄 = SetWindowsHookExA (14, 到整数 (&鼠标钩子屏幕坐标回调), 0, 0)

鼠标钩子屏幕坐标回调

.版本 2
.支持库 spec
 
.子程序 鼠标钩子屏幕坐标回调, 整数型, , 获取鼠标屏幕的坐标
.参数 代码值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 a, POINT
.局部变量 x, 整数型
.局部变量 y, 整数型
 
.判断开始 (参数一 = 512)
    a.x = 取鼠标水平位置 ()
    a.y = 取鼠标垂直位置 ()
    x = a.x
    y = a.y
    调试输出 (到文本 (x) + “,” + 到文本 (y))
    标题 = 到文本 (x) + “,” + 到文本 (y)
.默认
 
.判断结束
 
返回 (CallNextHookEx (鼠标钩子屏幕句柄, 代码值, 参数一, 参数二))

鼠标钩子客户区坐标

鼠标钩子客户句柄 = SetWindowsHookExA (14, 到整数 (&鼠标钩子客户区坐标回调), 0, 0)

鼠标钩子客户区坐标回调

.版本 2
.支持库 eAPI
 
.子程序 鼠标钩子客户区坐标回调, 整数型, , 获取鼠标客户区的坐标
.参数 代码值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 a, POINT
.局部变量 x, 整数型
.局部变量 y, 整数型
 
.判断开始 (参数一 = 512)
    a.x = 取鼠标水平位置 ()
    a.y = 取鼠标垂直位置 ()
    ScreenToClient (取鼠标所在窗口句柄 (), a)
    x = a.x
    y = a.y
    标签1.标题 = 到文本 (x) + “,” + 到文本 (y)
 
.默认
 
.判断结束
 
返回 (CallNextHookEx (鼠标钩子屏幕句柄, 代码值, 参数一, 参数二))

鼠标钩子客户区坐标方法2

鼠标钩子客户句柄 = SetWindowsHookExA (14, 到整数 (&鼠标钩子客户区坐标回调), 0, 0)

xxx

.版本 2
.支持库 spec
 
.子程序 鼠标自定义结构体回调, 整数型
.参数 代码值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 鼠标, MOUSEHOOKSTRUCT
 
CopyMemory (鼠标, 参数二, 20)
.判断开始 (参数一 = 512)
    调试输出 (到文本 (鼠标.pt.x),,, 到文本 (鼠标.pt.y))
 
    标签2.标题 = 到文本 (鼠标.pt.x) + “,” + 到文本 (鼠标.pt.y)
 
.默认
 
.判断结束
 
返回 (CallNextHookEx (鼠标自定义结构体, 代码值, 参数一, 参数二))

卸载钩子

.版本 2
 
UnhookWindowsHookEx (鼠标钩子屏幕句柄)
UnhookWindowsHookEx (鼠标钩子客户句柄)
UnhookWindowsHookEx (鼠标自定义结构体)

自定义数据类型

  1. .版本 2
  2.  
  3. .数据类型 POINT
  4.     .成员 x, 整数型
  5.     .成员 y, 整数型
  6.  
  7. .数据类型 MOUSEHOOKSTRUCT
  8.     .成员 pt, POINT, , , POINT结构对象,保存鼠标在屏幕上的x,y坐标
  9.     .成员 hwnd, 整数型, , , 接收到鼠标消息的窗口的句柄
  10.     .成员 wHitTestCode, 整数型
  11.     .成员 dwExtraInfo, 整数型, , , 指定与本消息联系的额外消息

教程获取下载:


发布日期:

所属分类: 易语言 标签: