zoukankan      html  css  js  c++  java
  • Windows下进程通信方式

    当线程分属于不同进程,也就是分驻在不同的地址空间时,它们之间的通讯需要跨越地址空间的边界,便得采取一些与同一进程中不同线程间通讯不同的方法。
    在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有:
    1、使用内存映射文件
    2、通过共享内存DLL共享内存
    3、使用SendMessage向另一进程发送WM_COPYDATA消息
    比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法。
    WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。Windows在通过WM_COPYDATA消息传递期间,不提供继承同步方式。SDK文档推荐用户使用SendMessage函数,接受方在数据拷贝完成前不返回,这样发送方就不可能删除和修改数据:
    这个函数的原型及其要用到的结构如下:
    SendMessage(hwnd,WM_COPYDATA,wParam,lParam);
    其中,WM_COPYDATA对应的十六进制数为0x004A
    wParam设置为包含数据的窗口的句柄。

    lParam指向一个COPYDATASTRUCT的结构:

    typedef struct tagCOPYDATASTRUCT{
       DWORD dwData;//用户定义数据
       DWORD cbData;//数据大小
       PVOID lpData;//指向数据的指针
    }COPYDATASTRUCT;
  • 相关阅读:
    HTML5之viewport使用
    css position小结
    图片预加载
    ie6 双边距问题
    json化的必要性
    nginx配置详解(转)
    nginx技术分享 (转)
    js 解决图片居中问题
    NGUI panel使用soft clip时,屏幕缩放后无法正常工作的问题解决
    使用代码修改camera.cullingMask
  • 原文地址:https://www.cnblogs.com/sooner/p/3191896.html
Copyright © 2011-2022 走看看