dll进程通讯内存共享版适合无窗口

易语言 2020-02-20 14:30:51

dll进程通讯内存共享版适合无窗口

.子程序 进程通信_发送数据
.参数 消息标识, 整数型
.参数 消息指针, 整数型
.参数 消息内容, 文本型, 可空
.局部变量 发送字节集, 字节集
.局部变量 启动时间, 整数型

启动时间 = 取启动时间 ()
发送字节集 = 到字节集 (到字节 (消息标识)) + 到字节集 (启动时间) + 到字节集 (消息指针) + 到字节集 (到整数 (取文本长度 (消息内容) + 1)) + 到字节集 (消息内容) + { 0 }
内存共享.写 (全局_进程通讯_句柄, 发送字节集)

.如果真 (通信时间 ≠ _通信时间)
_通信时间 = 通信时间
_通信标识 = 通信标识
共享字节集 = 内存共享.读 (全局_进程通讯_句柄, 全局_进程通讯_内存大小)
消息指针 = 取字节集数据 (取字节集中间 (共享字节集, 6, 4), #整数型, )
.如果真 (消息指针 ≤ 0)
返回 ()
.如果真结束
消息内容长度 = 取字节集数据 (取字节集中间 (共享字节集, 10, 4), #整数型, )
.如果真 (消息内容长度 > 0)
消息内容 = 取字节集数据 (取字节集中间 (共享字节集, 14, 消息内容长度), #文本型, )
.如果真结束
进程通信_数据到达 (通信标识, 消息指针, 消息内容)