易语API监视鼠标状态教学

 更新时间:2019年01月10日 14:15:32   投稿:laozhang  
在本篇文章中小编给大家分享了关于易语言调用系统钩子API监视鼠标状态教学,有兴趣的朋友们学习下。

调用API来进行监视鼠标状态——判断鼠标哪个键按下与放开

1、新建一个“易语言”窗口程序

2、API命令可下载易语言API编程助手进行查询

我们需要的API命令有

CallNextHookEx——呼叫下一钩子

SetWindowsHookExA——安装系统钩子

UnhookWindowsHookEx——卸载系统钩子

不同翻译的翻译结果也不同,大致了解下就可以了

3、还有一个API命令

GetModuleHandleA——取实例句柄

用来取窗口句柄的

4、对了,API的参数类型要改下,DLL命令如下:

.版本 2

.DLL命令 安装系统钩子, 整数型, "user32.dll", "SetWindowsHookExA", , , SetWindowsHookEx

  .参数 钩子类型, 整数型, , idHook

  .参数 回调函数地址, 子程序指针, , lpfn

  .参数 实例句柄, 整数型, , hmod

  .参数 线程ID, 整数型, , dwThreadId

.DLL命令 取实例句柄, 整数型, , "GetModuleHandleA", , ,

  .参数 程序名, 整数型

.DLL命令 卸载系统钩子, 整数型, "user32.dll", "UnhookWindowsHookEx", , , UnhookWindowsHookEx

  .参数 钩子句柄, 整数型, , hHook

.DLL命令 呼叫下一钩子, 整数型, "user32.dll", "CallNextHookEx", , , CallNextHookEx

  .参数 钩子句柄, 整数型, , hHook

  .参数 代码值, 整数型, , ncode

  .参数 附加参数1, 整数型, , wParam

  .参数 附加参数2, 整数型, 传址, lParam

直接复制然后粘贴就可以了,系统会自动写入DLL命令的

5、然后就可以输入代码了

变量都是中文的,这样应该就可以明白变量的含义了

代码如下:

.版本 2

.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 启动监视

钩子句柄 = 到整数 (安装系统钩子 (14, &钩子处理, 取实例句柄 (0), 0))

' 安装系统钩子——安装和卸载和注册热键与注销热键相似的,只是类型不同

.子程序 结束监视

.如果真 (钩子句柄 ≠ 0) ' 检测钩子句柄——如果不检测直接卸载可能会出现问题

  卸载系统钩子 (钩子句柄)

.如果真结束

.子程序 钩子处理, 整数型

.参数 代码值, 整数型

.参数 参数一, 整数型

.参数 参数二, 整数型

' 参数一 也就是 键代码——不过是API里面的,不能直接用

.判断开始 (参数一 = 519) ' 鼠标中键按下的参数

  调试输出 (“中键按下”)

.判断 (参数一 = 520) ' 鼠标中键放开的参数

  调试输出 (“中键放开”)

.判断 (参数一 = 513) ' 鼠标左键按下的参数

  调试输出 (“左键按下”)

.判断 (参数一 = 514) ' 鼠标左键放开的参数

  调试输出 (“左键放开”)

.判断 (参数一 = 516) ' 鼠标右键按下的参数

  调试输出 (“右键按下”)

.判断 (参数一 = 517) ' 鼠标右键放开的参数

  调试输出 (“右键放开”)

.默认

.判断结束

返回 (呼叫下一钩子 (钩子句柄, 代码值, 参数一, 参数二)) ' 返回值——用来返回,不然子程序 钩子处理 没有返回值

.子程序 __启动窗口_创建完毕

启动监视 () ' 调用子程序 启动监视

.子程序 __启动窗口_可否被关闭, 逻辑型

结束监视 () ' 调用子程序 结束监视

6、然后F5运行看看效果

如果360出现安全警告,直接点击允许就可以了

刚运行的时候可能会有点卡,那是在安装系统钩子,等会就不卡了

相关文章

  • 易语言设置选择夹表头的方向

    易语言设置选择夹表头的方向

    今天小编就为大家分享一篇关于易语言设置选择夹表头的方向,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 详解易语言写内存整数型

    详解易语言写内存整数型

    在本篇内容里小编给大家分享的是关于易语言写内存整数型方法介绍,需要的朋友们跟着学习下。
    2018-12-12
  • 易语言调用dll实现条形码本地离线识别的代码

    易语言调用dll实现条形码本地离线识别的代码

    今天小编就为大家分享一篇关于易语言实现条形码本地离线识别的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言绝对取整命令使用讲解

    易语言绝对取整命令使用讲解

    今天小编就为大家分享一篇关于易语言绝对取整命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言清除IE缓存cookies方法

    易语言清除IE缓存cookies方法

    在本文章里小编给大家分享了关于易语言清除IE缓存cookies方法,需要的朋友们可以参考下
    2018-12-12
  • 易语言更改编辑框的边框样式

    易语言更改编辑框的边框样式

    今天小编就为大家分享一篇关于易语言更改编辑框的边框样式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言删除系统临时文件代码实操

    易语言删除系统临时文件代码实操

    在本篇内容里小编给大家带来了关于易语言删除系统临时文件代码实操代码内容,需要的朋友们参考下。
    2018-11-11
  • 易语言连续赋值方法介绍

    易语言连续赋值方法介绍

    在本篇文章里小编给大家分享了关于易语言连续赋值方法介绍和步骤,有需要的朋友们学习下。
    2019-01-01
  • 易语言子文本替换命令使用讲解

    易语言子文本替换命令使用讲解

    今天小编就为大家分享一篇关于易语言子文本替换命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言制作方言版语音合成工具

    易语言制作方言版语音合成工具

    今天小编就为大家分享一篇关于易语言制作方言版语音合成工具,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论