当前位置: 主页 > 百科 > 计算机编程 > 易语言源码 >
-12 Comments

进程通讯_单方面(需要WW内嵌汇编插件)

发布于:2016-07-03  |   作者:http://www.zxjsq.net  |   已聚集:人围观

.版本 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

.判断结束

返回 (假)


标签:                   喜欢:收藏