易语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出现安全警告,直接点击允许就可以了

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

(0)

相关推荐

  • 易语言键盘钩子与鼠标钩子的状态参数值表

    我们给大家分享介绍了键盘和鼠标的钩子用法代码: 鼠标钩子: 子程序只有一个参数:鼠标状态 512 鼠标移动 513 左键按下 514 左键弹起 516 右键按下 517 右键弹起 519 中键按下 520 中键弹起 522 中键滚动 键盘钩子: 回调指针子程序有两个参数:键代码 键盘状态 键盘状态数值如下: 256 键盘按下 257 键盘弹起 260 ALT键按下 以上就是本次介绍的全部内容,感谢大家对我们的支持.

  • 易语言仿按键精灵录制键盘鼠标操作的代码

    DLL命令表 .版本 2 .DLL命令 取按键状态, 短整数型, "user32.dll", "GetAsyncKeyState" .参数 鼠标键, 整数型 .DLL命令 取鼠标位置, 整数型, "user32.dll", "GetCursorPos" .参数 当前鼠标位置, 鼠标位置, 传址 .DLL命令 模拟鼠标按键, , , "mouse_event" .参数 鼠标动作, 整数型 .参数 水平位置,

  • 易语言利用鼠标模拟点击的方式实现自动画图的代码

    DLL命令表 .版本 2 .DLL命令 PostMessageA, 整数型, "user32.dll", "PostMessageA", , 如果函数调用成功,返回非零值:如果函数调用失败,返回值是零 .参数 hWnd, 整数型, , 其窗口程序接收消息的窗口的句柄 .参数 Msg, 整数型, , 指定被寄送的消息 .参数 wParam, 整数型, , 指定附加的消息特定的信息 .参数 IParam, 整数型, , 指定附加的消息特定的信息 自动绘画的代码 此功能需

  • 易语言查找指定颜色并将鼠标移动到指定坐标的代码

    DLL命令表 .版本 2 .DLL命令 移动鼠标, , "user32", "SetCursorPos" .参数 x, 整数型 .参数 y, 整数型 查找指定颜色例程 .版本 2 .程序集 窗口程序集1 .子程序 _查找按钮_被单击, , , 查找颜色 .局部变量 临时字节集, 字节集 .局部变量 颜色, 字节集 .局部变量 找到位置, 整数型 .局部变量 x, 整数型 .局部变量 y, 整数型 .局部变量 宽, 整数型 .局部变量 高, 整数型 临时字节集 = 快

  • 易语言模拟鼠标点击实现方法

    易语言对于初学者而言是一种非常好学的中文编程语言,能够快速地实现很多功能,全汉语编程,简单易上手,易语言功能强大实用,系统全部自行设计开发,且易语言自带的即时帮助系统,非常方便. 这里,教大家如何实现模拟鼠标点击. 1.进入易语言界面,在右边的工具栏中,分别找到"编辑框""标签""按钮"三个控件. 2.在主编辑界面中,如图所示摆放位置,进行初步界面搭建. 3.在左侧的属性栏中找到"标题"属性,分别给标签设置为"X&q

  • 易语言设置鼠标移动到组件上时的文本显示颜色

    热点颜色属性 所属对象:超级链接框   操作系统支持:Windows,数据类型:整数型: 将整数型数据赋值到指定对象的热点颜色属性中 语法:对象.热点颜色 = 整数型 应用对象:超级链接框 例程 说明: 本属性设置鼠标移动到组件上时的文本显示颜色. 设置超级链接框的热点颜色为热点颜色选择器选择的颜色. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语API监视鼠标状态教学

    调用API来进行监视鼠标状态--判断鼠标哪个键按下与放开 1.新建一个"易语言"窗口程序 2.API命令可下载易语言API编程助手进行查询 我们需要的API命令有 CallNextHookEx--呼叫下一钩子 SetWindowsHookExA--安装系统钩子 UnhookWindowsHookEx--卸载系统钩子 不同翻译的翻译结果也不同,大致了解下就可以了 3.还有一个API命令 GetModuleHandleA--取实例句柄 用来取窗口句柄的 4.对了,API的参数类型要改下,D

  • 易语言API取文本长度图文讲解

    windows API 应用之"lstrlen"的应用 用易语言取出文本长度的实例教程 1.新建一个易语言窗口程序 添加一个编辑框 和 按钮组件 2.添加需要取出长度的文本 如图中所示 编辑框中添加 "百度一下你就知道"文字 3.双击DLL命令 进入DLL编辑代码 4.新建DLL命令 写入以下代码 .版本 2 .DLL命令 lstrlen, 整数型, , "lstrlenA" .参数 lpString, 文本型 5.进入程序集 写出以下代码 我们

  • 易语言API助手使用方法

    易语言API助手它的唯一功能就是方便查询API函数命令,能够自动在程序中加入指定dll命令声明的向导程序. 1.先了解一下API,Application Programming Interface,应用程序编程接口,编程人员通过这个接口,可以调用系统某些软件或者硬件的功能! 2.易语言的API助手对API进行了分类,可以以英文或中文的形式查看,同时提供了中英文索引查找和一些例程! 3.我们可以通过易语言的工具---执行易向导,来导入需要的API助手中的函数! 4.选中API助手,然后就会自动打开

  • 易语言中DLL命令的开发与使用介绍

    一.关于易语言DLL 从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准DLL的调用方法相同.易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用程序一起发行,而独立编译exe时无需将DLL文件随应用程序一起发行. 二.新建易语言DLL程序 新建一个易语言程序,然后选择 Windows动态链接库 图标,易语言就会自动创建 出编写DLL动态链接库的代码区(程序集),如下图所示: 创建完毕就可以在代码区里编写DLL程序.

  • 易语言开发上网导航步骤教学

    易语言开发上网导航,程序实现本地程序的快捷方式和上网的网址导航. 1.打开易语言程序,在程序菜单选择新建 windows窗口程序,适当的点击程序边角放大程序界面. 2.在窗口组件箱中的基本组件中选择文件夹,在程序界面上点击,放到合适的位置,并调整位置. 3.在文件夹区域中右键选择"设置子夹管理",在此修改第1项的内容输入"本地程序",单击向后插入空项目,在此修改第2项的内容输入"上网导航",确定. 4.在窗口组件箱中的基本组件中选择按钮,在程序界

  • 易语言制作举牌照的教学

    利用国语版易语言制作简单的举牌照,可以选择任何图片来宣传自己 1.打开易语言 2.点击易语言右边的图片按钮,在左边的框内随机拉出图片尺寸的一个方框 3.点击我们刚才拉的那个方框,在左边会出现图片两个字,我们来单击一个,会出现一个图片属性对话框 4.我们来点击更换那个按钮,在电脑上面选取我们要制作的图片原图,点击确认. 现在图片在要添加的这个小方框内了,我们再点击确认,图片就出现在我们刚才随机拉取的图片框内了 5.点击左边的"字"在中间的位置随机拉取一定长度.这个是我们用来提醒下面的输入

  • 关于易语言中“如果”命令详解

    本命令根据提供的逻辑参数的值,来决定是否改变程序的执行位置,如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到左侧箭头线指向的命令处去执行. 语法: 无返回值 如果 (条件) 参数名 描 述 条件 必需的: 逻辑型.本条件值的结果决定下一步程序执行位置. 说明: 如果命令的条件参数必须为逻辑型,可以为一个或多个逻辑型条件语句组成,多个逻辑型条件语句之间可以用"或"或者"且"连接, 如果符合如果编辑框.内容 = "你好易语言"的条件,就执行

  • 易语言中“如果真”命令的实例分享

    本命令根据提供的逻辑参数的值,来决定是否改变程序的执行位置,如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到左侧箭头线指向的命令处去执行.同"如果"命令相比,本命令没有为假时的程序部分. 语法: 无返回值 如果真 (条件) 参数名 描 述 条件 必需的: 逻辑型.本条件值的结果决定下一步程序执行位置. 例程 说明: 如果真命令和如果命令相似,如果真的条件也必须是逻辑型,可以用"或者""并且"连接多个条件. 此段语句运行时,如果编辑框中的

  • 易语言中“取错误码”命令详解

    如果执行某数据库命令失败,在其后执行本命令可以取回非 0 的数据库错误码值.如果该数据库命令执行成功,执行本命令将返回 0 . 语法: 整数型 取错误码 () 例程: 说明: 首先把要操作的数据库打开,然后执行"写()"命令,程序将改写"改写字段编辑框"中输入的字段,改写内容为"改写内容编辑框"中的内容.如果改写成功,会弹出信息框显示"写入数据成功":如果改写失败,会弹出信息框提示失败,将本次操作的错误码和错误信息取出,并显示

  • 易语言API高级技巧教学

    首先声明,本文的读者该卖是:具有相当的易言语基础的.能较熟练地把常用的的API从VB/C声明转换到易言语DLL命令的易言语喜欢者. 1,使用指针 易言语中出于安定.方便考虑,没有直接提供指针,这正在进行一些高级 纵时不是很方便,固然有一些第三方支撑库可以取出变量指针(比如我的eLib++ 注:该支撑库系Delphi开发,本人已开放源代 ,你可以到易言语下载区瞧瞧)但是仅仅为了这个 纵就带上一个支撑库不太值得.实在用一个API,加上一些技术就可以欺骗Windows和易言语,让它们报告你一个变量的指

随机推荐