我要学易语言19~实现QQ快捷回复,学习API_取得类名称 、API_取窗口标题、 API_枚举父窗口 、API_取前台窗口 、取窗口句柄、API_取窗口矩形、移动、取运行目录、置剪辑板文本等

简易的QQ快捷回复:(获取到QQ的聊天窗口句柄,判断当前窗口是不是聊天窗口,是的话,通过句柄获取到窗口位置,将窗口“贴”到聊天的窗口旁。如果不是,当前窗口变成隐藏窗口,如果当前窗口是自身,则什么都不做。循环执行。)

样张

知识点:

获取所有的窗口句柄:EnumWindows(通过枚举,获取系统中所有的窗口句柄) 注:他是一个回调的用法。需要我们传递一个子程序地址,这个函数每找到一个窗口,就会自动调用我们给他的子程序 指针。相当于调用我们的子程序。同时需要注意的是,这个子程序有明确的格式,必须按照格式来写,不然会出错。获取当前“前台”窗口句柄:GetForegroundWindow(前台:前台应用程序的活动窗口)设置窗口到“前台”:SetForegroundWindow获取窗口类名:GetClassName 取窗口标题:GetWindowText获取新窗口的位置:GetWindowRect发送消息:SendMessageA

步骤:

1、使用EAPI工具查询出以上的DLL命令,并添加到易语言的Dll命令中。

2、创建普通窗口,输入下图命令。添加 程序集_QQ窗口句柄数组 用来记录添加多个符合条件的窗口句柄。 添加 子程序 回调_查找窗口句柄(这里开始查询窗口句柄)。设置参数、局部变量(查看下面补充)。设置 临时 变量为 取空白文本 命令。详细用法看图2。使用API_取得类名称、API_取窗口标题 命令 将 窗口的类名 和窗口标题提出来存储在缓冲区的局部变量中。使用精易编程助手,查看一下我们要获得QQ的窗口类名,设置判断,进行筛选出,然后输出调试,可以看到有很多相同的输出如图3。再进行判断,将找到的符合条件的筛选出存储到程序集_QQ窗口句柄数组中。最后设置返回值。

1

补充:

易语言中参数名与变量名的区别: 参数名是指你在调用该子程序时,必须发送给该子程序的一个常变量,调用该程序时,只能为其赋值一次,在此 次执行中,数值无法再次改变,直到重新调用。如,系统命令中 延时() 有一个参数,信息框(,,)有三个 参数,所谓可空,即指系统已为其赋了一个默认值,但并非没有值。 变量名即为,临时存储空间,系统从内存中划出一块空间给你,你对其有最高访问权限,可以任何时间修改调用 ,与参数名不同,变量不一定要赋值,而且如果调用变量,系统才会自动为其赋上默认空值或零值(根据变量类 型来看)
2
3
3

2、添加子程序,作用是获取前台的窗口,设置变量,先清除数组(这里跟前面的不冲突,看到最后你就明白了)。使用 API_枚举父窗口 命令(这个命令必须要使用前面的 子程序 回调_查找窗口句柄图 2)。这里要记得修改 DLL命令的函数指针为子程序指针。不然会报错。临时变量前台窗口的值为 API_取前台窗口 命令,如果当前的窗口是自己,就返回空,啥也不干。添加 计次循环首 命令,未知变量设为i,变量次数为程序集的句柄数组的数量,判断 QQ窗口为当前的窗口,如果是,则使用 API_取窗口矩形 命令,定位到当前窗口的矩形大小,用法如图3。启动窗口的可视真,启动窗口移动到当前聊天的右边和加10个元素的顶边,程序集_当前QQ聊天窗口句柄的值为前台的窗口句柄。返回。最后输出 启动窗口的可视为假。这个程序的作用能实现,如果窗口为QQ的窗口则显示,如果不是则启动窗口隐藏。等待QQ窗口的出现。并定位到该窗口。

1
2
3

3、添加 时钟 控件,设置周期事件如下图。这个功能能实现 启动窗口能每秒自动定义到QQ的窗口的旁边。

4、添加子程序 _导入回复信息 ,添加参数 路径,添加 局部变量,使用 读入文件 命令,能够读取 路径 ,这里就看出了参数的作用,上面写了,参数能作为外部接口。读取文件的内容后可以使用 分割文本 命令,对文本进行分割,添加 循环,然后将序列号使用 插入表项 命令 输出到超级列表框中,根据序列号,然后将分割的内容输出到超级列表框中。添加 子程序 如5。这里用到了 参数 路径 的 作用。

1
2
3

5、此时,一个简介的快速回复窗口就制作完成,但是还没有设置双击文本消息双击输入到QQ的聊天框。使用 置剪辑板文本 命令复制出 列表框 的 现行选中行 命令中的选中项,索引的项为1。使用 API_发送消息 命令,将复制出的文本输出到该QQ聊天窗口的文本框中,信息的标识符为#WM_PASTE,(这里我也不知道为什么设置为这个。)到最后这里结束了。

1
2

总结:学了取空白文本、API_取得类名称 、API_取窗口标题、 API_枚举父窗口 (需要回调子程序)、API_取前台窗口 、取窗口句柄、API_取窗口矩形、移动、取运行目录、读入文件、分割文本、插入表项 、置剪辑板文本、API_发送消息 命令。明白了如何制作QQ消息的快捷回复窗口的编程思路。今天就到这里,明天继续加油!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部