吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2781|回复: 3
收起左侧

[易语言 转载] 利用API#PostMessage的进程通信模块

[复制链接]
Peanut 发表于 2019-1-5 00:51
思路如下
发送:
1.将文本型的消息内容拆分成字节集类型
2.先取出字节集长度,使用PostMessage这个API发送给指定窗口
3.然后进行循环,一个一个字节的发给(也是使用PostMessage这个API)指定窗口
接收:
1.使用SetWindowLong为改窗口设置新的过程函数(就是窗口收到消息之后,我们的这个函数会先处理消息)
2.判断消息标识是不是我们设定的,如果是的话,进行相应处理。(一个一个的接收字节集,直到字节集长度等于一开始收到的指定长度)
3.一个一个字节集收到之后,将字节集转为文本型,调用我们设置的回调函数,把这个文本型数据当参数传送
4.最后使用CallWindowProc这个API,调用程序原来的消息处理函数(因为有的消息是程序本身的,比如点击一个按钮之类的,所以要把收到的消息传给程序用来的消息函数)
保证消息标识的唯一性是用RegisterWindowMessage这个API处理的,理论上可以实现一个程序和多个程序的通信。
程序本身也可以向自己发消息,这个方法的缺点显然易见,当数据量很大的时候,就显得效率太低了(一个字节一个字节发)。但是相比SendMessage,在大多数的时候,他比较稳定。
总而言之,发一些几十个字或者几百个字的文本型数据,应该是完全够用。需要的话,可以自己改成字节集等其它变量类型的通信

ProcessCommunication.zip (8.37 KB, 下载次数: 31)
_代码截图.png _程序效果.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

魔弑神 发表于 2019-1-5 01:27
章口就莱?
罗茂松 发表于 2019-1-5 07:29
空处 发表于 2019-1-5 08:09
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 00:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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