判断鼠标上下左右移动状态
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 钩子句柄
.子程序 启动监视
钩子句柄 = 到整数 (安装系统钩子 (14, &钩子处理, 取实例句柄 (0), 0))
' 安装系统钩子——安装和卸载和注册热键与注销热键相似的,只是类型不同
.子程序 结束监视
.如果真 (钩子句柄 ≠ 0) ' 检测钩子句柄——如果不检测直接卸载可能会出现问题
卸载系统钩子 (钩子句柄)
.如果真结束
' 本源码来自三叶资源网(www.sanye.cx)
.子程序 钩子处理, 整数型
.参数 代码值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 上次X位置, 整数型, 静态, , 一定要静态或者放到程序集
.局部变量 这次X位置, 整数型
.局部变量 上次Y位置, 整数型, 静态, , 一定要静态或者放到程序集
.局部变量 这次Y位置, 整数型
.局部变量 左右, 文本型
.局部变量 上下, 文本型
' 参数一 也就是 键代码——不过是API里面的,不能直接用
.判断开始 (参数一 = 512)
这次X位置 = 取鼠标水平位置 ()
这次Y位置 = 取鼠标垂直位置 ()
.如果真 (这次X位置 - 上次X位置 > 0)
左右 = “右翼”
.如果真结束
.如果真 (这次X位置 - 上次X位置 < 0)
左右 = “左翼”
.如果真结束
.如果真 (这次Y位置 - 上次Y位置 < 0)
上下 = “上翼”
.如果真结束
.如果真 (这次Y位置 - 上次Y位置 > 0)
上下 = “下翼”
.如果真结束
上次Y位置 = 这次Y位置
上次X位置 = 这次X位置
调试输出 (上下, 左右)
.判断 (参数一 = 519) ' 鼠标中键按下的参数
调试输出 (“中键按下”)
.判断 (参数一 = 520) ' 鼠标中键放开的参数
调试输出 (“中键放开”)
.判断 (参数一 = 513) ' 鼠标左键按下的参数
调试输出 (“左键按下”)
.判断 (参数一 = 514) ' 鼠标左键放开的参数
调试输出 (“左键放开”)
.判断 (参数一 = 516) ' 鼠标右键按下的参数
调试输出 (“右键按下”)
.判断 (参数一 = 517) ' 鼠标右键放开的参数
调试输出 (“右键放开”)
.默认
.判断结束
返回 (呼叫下一钩子 (钩子句柄, 代码值, 参数一, 参数二)) ' 返回值——用来返回,不然子程序 钩子处理 没有返回值
.子程序 __启动窗口_创建完毕
启动监视 () ' 调用子程序 启动监视
.子程序 __启动窗口_可否被关闭, 逻辑型
结束监视 () ' 调用子程序 结束监视
易语言物理压枪鼠标左右修正