开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2238|回复: 1
收起左侧

[图文资料] 20简易快速回复组件的设计与实现

[复制链接]
发表于 2022-6-19 19:59:17 | 显示全部楼层 |阅读模式   山西省忻州市

简易快速回复组件的设计与实现


20简易QQ快捷回复.jpg

学习内容

  1. 判断窗口的前后关系
  2. 程序的逻辑处理
  3. 【作业】在软件页面添加按钮,使软件能够添加修改删除发送的内容,并把修改的内容保存到文件中
  4. 【新增一个托盘图标】给一个右键菜单,可以停止检测,可以显示出来,也可以退出程序
  5. 【拓展】发送消息API
  6. 微信同样可以这样做

学习重点

  1. 函数回调的用法:需要我们传递一个子程序的地址。每次找到一个新窗口,就自动调用我们传入的程序指针,相当于调用我们的子程序
  2. 注意】回调子程序必须严格按照格式来写,否则会出错

学习难点

  1. 在众多的窗口句柄中取出自己想要的句柄
  2. 获取前台窗口句柄,设置窗口到前台API
  3. 根据当前获得的窗口句柄,获得窗口的类名getClassName
  4. api缓冲区,定义一个局部变量,取255个空白文本,然后设置缓冲区的大小是255

学习记录

  1. 窗口句柄是标识窗口的唯一值
  2. EnumWindow枚举所有窗口句柄
  3. 参数如何传址?去地址符加变量名或者子程序名
  4. 如何取缓冲区?
  5. 调试输出命令比原始的调试命令好用,会将逗号分割的数据在同一行输出
  6. 加入成员命令
  7. 如果代码没有保存,则程序会在临时目录运行,会产生意想不到的问题
  8. 获取窗口标题getWindowText
  9. 一定要注意API有没有参数
  10. API要求的是整数型,参数是子程序指针类型,要进行转换
    `.版本 2

    API_枚举父窗口 (&回调_查找窗口句柄, 100)

    `


2022/6/10 9:34:19


如何通过句柄获取窗口的位置标题类名等

getClassName

学习API

  • 获得窗口的所有句柄,涉及回调子程序
    • 回调子程序的编写方式:返回值和参数一定要对应(当前找到的窗口句柄,附加的参数),注意,子程序由系统自动调用,用户写好即可。传函数指针的时候要用到取地址符
    • 就是说,调用api后,系统每找到一个,就会调用一次回调函数,可以在自定义的回调函数中写自己需要的内容
  • 获取当前前台窗口句柄getForegroundWindow
  • 设置窗口到前台setForegroundWindow

找到需要的窗口并实现附着效果

  1. 先获得聊天窗口的句柄和标题
  2. 判断窗口是不是在前台(用户要输入的地方就是前台),这里使用时钟来完成,获取用户当前正在使用的前台窗口句柄
    • 判断当前窗口是不是自己,如果是自己,啥也不做
    • 判断当前窗口是不是QQ        
    • 如果是聊天窗口,使用启动窗口的聊天命令来对窗口进行移动        

      思路:当我们找出所有的符合的聊天窗口的句柄和标题的时候,我们应该把他们用数组存储起来,用加入成员命令添加,用计次循环来判断

  • 当聊天窗口不在前台的时候,应该把程序窗口隐藏,当显示出来的时候,就把程序窗口也显示出来。

设置文本的内容

  1. 当窗口创建完毕的时候,导入文本文件,调用子程序来实现

    • 子程序中读取文件内容到临时变量
    • 对读取到的文本进行分割
    • 将分割后的文本加入到超级列表框中;插入表项,得到表项索引,然后置标题把文本内容插入
  2. 实现当双击超级列表框数据的时候,超级列表框中的数据加入到文本中

    • 判断当前的项目能不能插入,有没有项目
    • 使用置剪辑版文本命令,当粘贴的时候自动出现选中项的内容
  3. 在e程序中添加按钮和菜单,实现超级列表框内容的增删查改,并保存到文件中

  4. 用托盘图标表明当前程序正在执行,可以退出该程序

使用发送消息的命令可以模拟出文本粘贴的效果,但要使用程序集变量来保存当前的聊天窗口句柄
信息值输入为粘贴

思考

  1. 在计次循环中使用返回命令的结果是

    • 退出循环

              .版本 2
      
              .计次循环首 (5, i)
              .如果真 (i ≤ 3)
               输出调试文本 (i)
              .如果真结束
              返回 ()
              .计次循环尾 ()
  2. 默认的整数型数据是?

              - 普通的整数型变量在输出的时候是0

TIPS

这里条件有限,就弄一个程序窗口附着在记事本的右侧,点击插入文本,然后
数组是从1开始的,然而索引和列都是从0开始的


2022年6月19日19:57:52


20简易QQ快捷回复实现.jpg


20简易快捷回复.e (18.2 KB, 下载次数: 3)

评分

参与人数 1好评 +1 精币 +2 收起 理由
澎湃物联 + 1 + 2 感谢发布原创作品,一定好好学习,天天向上

查看全部评分


签到天数: 1 天

发表于 2023-3-5 11:25:21 | 显示全部楼层   辽宁省大连市
已经给你们分好类了,需要调用的,请自行转换mp3格式
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表