开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 2885|回复: 55
收起左侧

[易语言纯源码] 剪辑板数据处理思路【QQNT 复制多图文数据示例】

[复制链接]

结帖率:100% (11/11)
发表于 2024-1-30 20:30:53 | 显示全部楼层 |阅读模式   福建省福州市
分享源码
界面截图: -
是否带模块: -
备注说明: -
想要复制指定格式的数据 如:带格式的html文本 带格式的excel数据 任何聊天程序的复杂数据.... 看着一个教程就够了本来不想发这个帖子的 我记得之前也有很多复制QQ图文数据的源码 但是这里还是重新写一下 我觉得思路真的很简单 但是不知道为什么有人会跟我杠

1.复制原始数据
想办法得到一个你要复制的数据格式,这里既然要做QQNT的聊天所以需要在QQ中发送或者输入一条示例文本然后复制
这里在QQ聊天框输入内容
RuGuo_2024-01-30_19-39-49.png
这时候可以直接复制也可以发送后复制,只要确定复制后粘贴到这里依然可以正常读取即可

2.获取剪辑板原始数据

  
子程序名返回值类型公开备 注
getClipboardData  
变量名类 型静态数组备 注
clipboarDataArray剪辑版数据0
i整数型 
剪辑板_取所有内容 (clipboarDataArray)  ' 获取你复制的所有内容
计次循环首 (取数组成员数 (clipboarDataArray), i)
调试输出 (clipboarDataArray [i].剪辑版数据格式, clipboarDataArray [i].字节集长度, clipboarDataArray [i].文本型数据)
计次循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库


可以得到以下数据

  
' 1: 50305 | 416 | “QQ_Unicode_RichEdit_Format”
' 2: 49468 | 460 | “HTML Format”
' 3: 49469 | 4 | “Preferred DropEffect”
' 4: 15 | 486 | “”



此处根据字节集长度来看,明显不是图片数据,如果是图片数据字节集长度不会这么短

那么这时候就用 到文本 / utf8转ansi / unicode转文本 得到明文数据 90%的数据用utf8存取 剩下少部分为 unicode或者明文存取 这里要注意 utf8转ansi 和 到文本 如果在没有中文或者一些外国语言的情况下获取的数据是一样的 尽量复制带中文的数据来获取


再次修改上面的代码改为

  
子程序名返回值类型公开备 注
getClipboardData  
变量名类 型静态数组备 注
clipboarDataArray剪辑版数据0
i整数型 
剪辑板_取所有内容 (clipboarDataArray)  ' 获取你复制的所有内容
计次循环首 (取数组成员数 (clipboarDataArray), i)
调试输出 (clipboarDataArray [i].剪辑版数据格式, clipboarDataArray [i].字节集长度, clipboarDataArray [i].文本型数据)
调试输出 (编码_Utf8到Ansi (clipboarDataArray [i].字节集数据))  ' 到文本 utf8转ansi unicode转文本   特别注意 utf8转ansi 和 到文本 如果在没有中文的情况下获取的数据是一样的 99%的程序都是用的utf8编码 这里尽量复制点中文数据试一下
计次循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库


数据1、2得到两串明文数据 3、4 为乱码数据

因为格式文本复制到这里会无法展示 所以使用图片显示
RuGuo_2024-01-30_20-25-27.png

其实这里也可以看的出来 数据1是QQ专用的复制格式 数据2是html的通用复制格式 是为了兼容添加的 我们只需要修改数据1中的数据复制即可 当然 更推荐修改第二种 一般主流的聊天工具都会兼容html  QQ通用数据可能没有适配的那么好 当然 QQ和WeChat都是支持的 其他数据我们暂时不需要处理 只需要拷贝其中任何一条即可 如果出现问题再来处理其他的数据 一般哪怕你修改内容 也直接按照之前的数据置入即可  直接 调试输出(clipboarDataArray .字节集数据) 得到原始字节集数据 置入进去就好了

3.置剪辑板数据

既然得到格式了 稍作修改再置入即可 这里直接按照格式置入文本数据试一下

RuGuo_2024-01-30_20-27-04.png

然后粘贴到QQ和WeChat 发现他并没有展示格式 只是展示了我们要复制的文本数据 说明理论可行 继续按照格式添加图片和内容

添加时发现格式非常简单  QQRichEditFormat 元素内 包含着 EditElement 元素
EditElement type 0 是文字 1是图片 按照格式进行拼接即可

因为格式文本复制到这里会无法展示 所以使用图片显示
RuGuo_2024-01-30_20-23-30.png

发现粘贴后显示正常、发送展示正常完工

下面是源码: demo.e (958.59 KB, 下载次数: 71)

评分

参与人数 12好评 +8 精币 +24 收起 理由
完玩 + 1 + 2 新技能已get√
wa690602724 + 1 感谢分享,很给力!~
龍貓 + 1 新技能已get√
无敌灰灰 + 1 + 2 开源精神必须支持~
vhk + 1 + 1 感谢你的支持,精易有你更精彩
光影魔术 + 2 开源精神必须支持~
qq1056123185 + 1 + 2 牛逼啊!竟然还有详细讲解,爱了爱了[比心]~
kyo9766 + 1 感谢分享,很给力!~
zz1318 + 1 + 2 新技能已get√
財財 + 1 感谢分享,很给力!~
铅笔刀 + 1 + 5 亲测ok
maozaiba + 1 + 5 奉上小小红包希望笑纳

查看全部评分


本帖被以下淘专辑推荐:

签到天数: 17 天

发表于 5 天前 | 显示全部楼层   江苏省镇江市
多谢分享,学习试用
回复 支持 反对

使用道具 举报

发表于 2024-4-19 22:42:19 | 显示全部楼层   江苏省苏州市
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2024-4-13 23:32:30 | 显示全部楼层   四川省成都市
支持下,好东西
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-4-5 21:17:27 | 显示全部楼层   福建省福州市
666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 19 天

发表于 2024-4-1 09:26:27 | 显示全部楼层   广东省佛山市
        开源精神必须支持~
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2024-3-12 21:33:59 | 显示全部楼层   广东省云浮市
是否可以取出全文本和图片数据?
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2024-3-12 21:32:13 | 显示全部楼层   广东省云浮市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2024-2-23 00:06:11 | 显示全部楼层   江西省抚州市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2024-2-15 14:50:08 | 显示全部楼层   浙江省嘉兴市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 3 天

发表于 2024-2-14 01:52:58 高大上手机用户 | 显示全部楼层   四川省宜宾市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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