开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 14240|回复: 79
收起左侧

[易源码分享] 易语言进程通信的正确姿势

[复制链接]
发表于 2019-5-22 09:01:44 | 显示全部楼层 |阅读模式   广东省揭阳市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
Windows 进程通信 一般有 :管道、邮件槽、剪切板、共享内存、消息、sockeet等
WM_COPYDATA消息(微软推荐我们用这个)
  WM_COPYDATA是一种非常强大却鲜为人知的消息。当一个应用向另一个应用传送数据时,发送方只需使用调用SendMessage函数,参数是目的窗口的句柄、传递数据的起始地址、WM_COPYDATA消息。接收方只需像处理其它消息那样处 理WM_COPY DATA消息,这样收发双方就实现了数据共享。
  WM_COPYDATA是一种非常简单的方法,它在底层实际上是通过文件映射来实现的。它的缺点是灵活性不高,它只能用于Windows平台的单机环境下。

我们先定义dll 跟 数据结构
e1.png
e2.png

发送两步就可以了 第一步 查找要发送的窗口句柄 第二步 发送消息 代码如下
  
子程序名返回值类型公开备 注
_按钮_send_被单击  
变量名类 型静态数组备 注
hwnd  
MsgCOPYDATASTRUCT 
Str文本型 
hwnd = FindWindowA (字符 (0), 编辑框_wind.内容)  ' className 不能直接传空值 不然会找不到
调试输出 (hwnd)
如果真 (hwnd = 0)
信息框 (“未找到消息接受者!”, 0, , )
返回 ()

Str = 编辑框_msg.内容
Msg.cbData = 取文本长度 (Str)
Msg.lpData = Str
Msg.dwData = 到整数 (编辑框_dwData.内容)
_SendMessageStr (hwnd, #WM_COPYDATA, 0, Msg)


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

先查找要接收消息的窗口句柄


然后 我们开始写接收消息
先设置获取窗口消息 代码如下

e3.png

跟其它语言通信 请参考
https://bbs.125.la/thread-14374584-1-1.html

易语言完整代码如下
易语言进程通信.zip (294.82 KB, 下载次数: 423)

点评

无窗口的程序,可以自己使用api创建一个隐藏窗口即可,更何况易不需要创建窗口,因为易本身的无窗口程序,就自带了一个隐藏窗口,直接取就行   安徽省合肥市  发表于 2022-8-5 08:51
线程中无法使用   广东省揭阳市  发表于 2022-2-24 22:48
那么 你们自己写一个 窗口啊 载入窗口 假   江西省赣州市  发表于 2019-6-1 17:55

评分

参与人数 3好评 +2 精币 +6 收起 理由
易语言资源网 + 1 + 5 支持开源~!感谢分享
枫晨 + 1 那么问题来了,无窗口的程序怎么办?
河道蟹 + 1 那么问题来了,无窗口的程序怎么办?

查看全部评分


本帖被以下淘专辑推荐:

  • · 精品|主题: 114, 订阅: 10
结帖率:50% (3/6)

签到天数: 4 天

发表于 2024-7-28 13:25:31 | 显示全部楼层   辽宁省本溪市
666666666666666
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2024-7-27 18:16:55 | 显示全部楼层   天津市天津市

Windows 进程通信 一般有 :管道、邮件槽、剪切板、共享内存、消息、sockeet等
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2023-7-15 06:33:57 | 显示全部楼层   山东省德州市
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2023-7-15 06:33:39 | 显示全部楼层   山东省德州市
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2023-5-21 23:52:18 | 显示全部楼层   山东省济南市
学习一下
回复 支持 反对

使用道具 举报

发表于 2023-3-17 18:22:40 | 显示全部楼层   山东省菏泽市
不粗哟  学习了
回复 支持 反对

使用道具 举报

发表于 2022-8-5 08:46:50 | 显示全部楼层   江苏省泰州市
那么问题来了,无窗口的程序怎么办?
回复 支持 反对

使用道具 举报

发表于 2022-7-27 20:10:36 | 显示全部楼层   北京市北京市
谢谢分享
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2022-5-19 00:11:39 | 显示全部楼层   四川省自贡市
回复 支持 反对

使用道具 举报

发表于 2022-5-11 20:43:26 | 显示全部楼层   广东省潮州市
asdf asdf asfd asfd
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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