Windows 进程通信 一般有 :管道、邮件槽、剪切板、共享内存、消息、sockeet等
WM_COPYDATA消息(微软推荐我们用这个)
WM_COPYDATA是一种非常强大却鲜为人知的消息。当一个应用向另一个应用传送数据时,发送方只需使用调用SendMessage函数,参数是目的窗口的句柄、传递数据的起始地址、WM_COPYDATA消息。接收方只需像处理其它消息那样处 理WM_COPY DATA消息,这样收发双方就实现了数据共享。
WM_COPYDATA是一种非常简单的方法,它在底层实际上是通过文件映射来实现的。它的缺点是灵活性不高,它只能用于Windows平台的单机环境下。
我们先定义dll 跟 数据结构
发送两步就可以了 第一步 查找要发送的窗口句柄 第二步 发送消息 代码如下
变量名 | 类 型 | 静态 | 数组 | 备 注 | hwnd | | | | Msg | COPYDATASTRUCT | | | Str | 文本型 | | |
hwnd = FindWindowA (字符 (0 ), 编辑框_wind.内容 ) 调试输出 (hwnd ) 如果真 (hwnd = 0 ) 信息框 (“未找到消息接受者!”, 0, , ) 返回 () Str = 编辑框_msg.内容 Msg.cbData = 取文本长度 (Str )Msg.lpData = Str Msg.dwData = 到整数 (编辑框_dwData.内容 )_SendMessageStr (hwnd, #WM_COPYDATA, 0, Msg )
先查找要接收消息的窗口句柄
然后 我们开始写接收消息
先设置获取窗口消息 代码如下
跟其它语言通信 请参考
https://125.confly.eu.org/thread-14374584-1-1.html
易语言完整代码如下
易语言进程通信.zip
(294.82 KB, 下载次数: 443)
|