发表
  • 注册
  • 综合源码 综合源码 关注:268 内容:582

    利用API#PostMessage的进程通信模块

  • 查看作者
  • 打赏作者
  • 当前位置: 桔子岛 > 软件源码 > 综合源码 > 正文
  • 296
  • 综合源码
  • LV.8
    SVIP3
    奉献者

    思路如下
    发送:
    1.将文本型的消息内容拆分成字节集类型
    2.先取出字节集长度,使用PostMessage这个API发送给指定窗口
    3.然后进行循环,一个一个字节的发给(也是使用PostMessage这个API)指定窗口
    接收:
    1.使用SetWindowLong为改窗口设置新的过程函数(就是窗口收到消息之后,我们的这个函数会先处理消息)
    2.判断消息标识是不是我们设定的,如果是的话,进行相应处理。(一个一个的接收字节集,直到字节集长度等于一开始收到的指定长度)
    3.一个一个字节集收到之后,将字节集转为文本型,调用我们设置的回调函数,把这个文本型数据当参数传送
    4.最后使用CallWindowProc这个API,调用程序原来的消息处理函数(因为有的消息是程序本身的,比如点击一个按钮之类的,所以要把收到的消息传给程序用来的消息函数)
    保证消息标识的唯一性是用RegisterWindowMessage这个API处理的,理论上可以实现一个程序和多个程序的通信。
    程序本身也可以向自己发消息,这个方法的缺点显然易见,当数据量很大的时候,就显得效率太低了(一个字节一个字节发)。但是相比SendMessage,在大多数的时候,他比较稳定。
    总而言之,发一些几十个字或者几百个字的文本型数据,应该是完全够用。需要的话,可以自己改成字节集等其它变量类型的通信

    利用API#PostMessage的进程通信模块

    利用API#PostMessage的进程通信模块

    隐藏内容需要回复可以看见

    回复
    LV.11
    一见钟情
    你牛B、NB、牛掰、牛X、流弊、牛批、太牛逼!

    无欲无求,笑口常开。

    回复
    LV.11
    SVIP2
    一见钟情
    楼主辛苦了

    我有故人抱剑去,斩尽春风未曾归。

    回复
    LV.10
    SVIP2
    六一儿童节
    哈哈哈

    有这种“自己又给人添麻烦了”的想法的人,都很敏感善良吧……

    回复
    LV.11
    六一儿童节
    你端坐在那里,我才知道我有多么浅薄,我曾忘情于两汉的歌赋,我曾惊讶于唐宋诗词,也曾流连于宋元的曲牌。如今而你才是人世间真正的圣人。

    我想拥有温柔,不仅仅止于表面的伪装。

    回复
    LV.10
    SVIP2
    六一儿童节
    楼主辛苦了,谢谢楼主,楼主好人一生平安!

    Control is Power.

    回复
    LV.11
    SVIP2
    一见钟情
    楼主辛苦了,谢谢楼主,楼主好人一生平安!

    有时语言就像把利刃,使用不当,就会成为凶器。

    回复
    LV.11
    六一儿童节
    你牛B、NB、牛掰、牛X、流弊、牛批、太牛逼!

    如果你执意追逐我的幻影,迟早会被真正的我打败。

    回复
    LV.10
    SVIP2
    六一儿童节
    你端坐在那里,我才知道我有多么浅薄,我曾忘情于两汉的歌赋,我曾惊讶于唐宋诗词,也曾流连于宋元的曲牌。如今而你才是人世间真正的圣人。

    死去的人不需要花。被花所拯救的是留下来的人。

    回复
    LV.10
    六一儿童节
    666666666

    你逆光而来,配得上世间所有的美好。

    回复
    LV.11
    SVIP2
    女神
    楼主辛苦了,谢谢楼主,楼主好人一生平安!

    你逆光而来,配得上世间所有的美好。

    回复

    请登录之后再进行评论

    登录
  • 任务
  • 动态
  • 帖子间隔 侧栏位置: