'哇好难!!! 竟然没人会 会的都不是人
'那些用"全局鼠标钩子"的是外星人 妖怪
'写以下代码的(用API的)是神是上帝:
'以下代码用上了 传说中的 "时钟控件" (高科技啊 一般人不会用的) 状态显示在了"窗口标题"(般人我不告诉他)
'注意 变量t 是 程序集变量
版本 2
程序集 窗口程序集1
程序集变量 t
子程序 __启动窗口_创建完毕
t = 取启动时间 ()
时钟1时钟周期 = 1
子程序 _时钟1_周期事件
如果 (测试虚拟键_ (1) ≠ 0)
_启动窗口标题 = “左键按下 ” + 到文本 (取鼠标水平位置 ()) + “,” + 到文本 (取鼠标垂直位置 ())
判断循环首 (测试虚拟键_ (1) ≠ 0)
判断循环尾 ()
_启动窗口标题 = “左键d起 坐标 ” + 到文本 (取鼠标水平位置 ()) + “,” + 到文本 (取鼠标垂直位置 ()) + “ 间隔” + 到文本 (取启动时间 () - t) + “毫秒”
t = 取启动时间 ()
否则
如果真 (测试虚拟键_ (2) ≠ 0)
_启动窗口标题 = “右键按下 ” + 到文本 (取鼠标水平位置 ()) + “,” + 到文本 (取鼠标垂直位置 ())
判断循环首 (测试虚拟键_ (2) ≠ 0)
判断循环尾 ()
_启动窗口标题 = “右键d起 坐标 ” + 到文本 (取鼠标水平位置 ()) + “,” + 到文本 (取鼠标垂直位置 ()) + “ 间隔” + 到文本 (取启动时间 () - t) + “毫秒”
t = 取启动时间 ()
如果真结束
如果结束
版本 2
DLL命令 测试虚拟键_, 整数型, "user32", "GetAsyncKeyState"
参数 键代码, 整数型, , vKey Long,欲测试的虚拟键的键码
1、无法解决,因为你是用全局鼠标钩子,而钩子函数对Windows消息处理过程是阻塞的,你用断点将那函数阻塞住了,自然也把把鼠标相关的消息阻塞住了,消息没有往下传递,自然会出现鼠标移动迟缓了。
2、不知道你是怎么处理的,不知道。
3、想要捕获鼠标坐标,不一定要用钩子,有其它办法实现。
////参数 nCode 的可选值:
//HC_ACTION = 0; {}
//HC_GETNEXT = 1; {}
//HC_SKIP = 2; {}
//HC_NOREMOVE = 3; {}
//HC_NOREM = HC_NOREMOVE; {}
//HC_SYSMODALON = 4; {}
//HC_SYSMODALOFF = 5; {}
一直没搞明白这几个分别是什么意思,求解?
版本 2
子程序 鼠标钩子回调函数, 整数型
参数 参数一, 整数型
参数 参数二, 整数型
参数 参数三, 整数型
局部变量 鼠标, MOUSEHOOKSTRUCT
局部变量 鼠标键值, 整数型
CopyMemory (鼠标, 参数三, 20)
判断开始 (参数二 = 512)
标签1标题 = 到文本 (鼠标ptX - _启动窗口左边 ) + “,” + 到文本 (鼠标ptY - _启动窗口顶边 )
默认
判断结束
返回 (CallNextHookEx (鼠标钩子, 参数一, 参数二, 参数三))
子程序 __启动窗口_创建完毕
鼠标钩子 = SetWindowsHookEx (14, &鼠标钩子回调函数, GetModuleHandle (0), 0)
子程序 __启动窗口_将被销毁
UnHookWindowsHookEx (鼠标钩子)
版本 2
数据类型 MOUSEHOOKSTRUCT
成员 pt, POINT
成员 hwnd, 整数型
成员 wHitTestCode, 整数型
成员 dwExtraInfo, 整数型
版本 2
DLL命令 GetModuleHandle, 整数型, , "GetModuleHandleA", , , 获取句柄
参数 lpModuleName, 整数型
DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx", , , 下一个钩子
参数 hhk, 整数型
参数 nCode, 整数型
参数 wParam, 整数型
参数 lParam, 整数型
DLL命令 SetWindowsHookEx, 整数型, , "SetWindowsHookExA", , , 创建钩子
参数 idHook, 整数型
参数 lpfn, 子程序指针
参数 hmod, 整数型
参数 dwThreadId, 整数型
DLL命令 UnHookWindowsHookEx, 逻辑型, , "UnhookWindowsHookEx", , , 卸载钩子
参数 hhk, 整数型
DLL命令 WindowFromPoint, 整数型, "user32", "WindowFromPoint", , , 返回包含了指定点的窗口的句柄。忽略屏蔽、隐藏以及透明窗口 包含了指定点的窗口的句柄。如指定的点处没有窗口存在,则返回零
参数 xPoint, 整数型, , x点值
参数 yPoint, 整数型, , y点值;
DLL命令 CopyMemory, , , "RtlMoveMemory", , , 拷贝内存
参数 Destination, MOUSEHOOKSTRUCT, 传址
参数 Source, 整数型
参数 Length, 整数型
以上就是关于易语言 怎么获取鼠标在哪个地方点击了左键和右键,还有点击间隔的时间全部的内容,包括:易语言 怎么获取鼠标在哪个地方点击了左键和右键,还有点击间隔的时间、c# 关于使用了鼠标钩子MouseHook后的一些问题、鼠标钩子的HC_NOREMOVE情况等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)