.版本 2
.程序集 窗口程序集1
.程序集变量 接收, 通讯接收
.程序集变量 发送, 通讯发送
.子程序 __启动窗口_创建完毕
接收.通讯初始化 (“Candy.Biu”)
' 发送可以由其他进程中直接对接使用 支持多个进程对一个进程发送数据
发送.通讯初始化 (“Candy.Biu”)
' 本源码来自易语言资源网(www.5A5X.com)
.子程序 _按钮1_被单击
发送.通讯发送 (到字节集 (“哈哈哈23333333333” + #换行符))
.子程序 加入文本
.参数 str, 文本型
编辑框1.加入文本 (str)
.版本 2
.程序集 通讯发送
.程序集变量 标识, 文本型, , , 通讯标识
.程序集变量 Tid, 整数型, , , 要通讯的进程ID
.程序集变量 Pid, 整数型, , , 进程ID
.程序集变量 Event, 整数型, , , 事件句柄
.程序集变量 EventData, 字节集, , , 事件句柄数据
.程序集变量 Data, 字节集, , , 通讯数据
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
部署所需零件 ()
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
Api_CloseHandle (Event)
.子程序 部署所需零件
Pid = Api_GetCurrentProcessId ()
Event = Api_CreateEvent_int (#NULL, 假, 假, #NULL)
EventData = 到字节集 (Event)
.子程序 通讯初始化, , 公开
.参数 通讯标识, 文本型, 可空
标识 = 通讯标识
.子程序 取通讯参数, 逻辑型
.局部变量 pData, 整数型
.局部变量 hMap, 整数型
.如果真 (Tid = 0)
hMap = Api_OpenFileMapping (983071, 0, 标识)
' 本源码来自易语言资源网(www.5A5X.com)
.如果真 (hMap ≠ #NULL)
pData = Api_MapViewOfFile (hMap, 983071, 0, 0, 0)
.如果真 (pData ≠ #NULL)
Tid = _读整数 (pData)
Api_UnmapViewOfFile (pData)
.如果真结束
Api_CloseHandle (hMap)
.如果真结束
.如果真 (Tid = 0)
返回 (假)
.如果真结束
.如果真结束
返回 (真)
.子程序 通讯发送, 逻辑型, 公开
.参数 通讯数据, 字节集
.局部变量 len, 整数型
len = 取字节集长度 (通讯数据)
.如果真 (len < 1)
返回 (假)
.如果真结束
Data = EventData + 到字节集 (len) + 通讯数据
.如果真 (取通讯参数 () = 假)
返回 (假)
.如果真结束
.判断开始 (Api_PostThreadMesssgeA (Tid, #通讯消息, Pid, LeaBin (Data)) = 真)
Api_WaitForSingleObject (Event, -1)
返回 (真)
.默认
Tid = 0
.判断结束
返回 (假)