消息作用:
    在进程间共享数据(内部通过创建内存映射文件)

消息介绍:
需要用到的数据结构/类型:
typedef struct tagCOPYDATASTRUCT {
    ULONG_PTR dwData;
    DWORD cbData;
    PVOID lpData;
} COPYDATASTRUCT, *PCOPYDATASTRUCT;

结构体参数说明:
    dwData(ULONG)   保存一个数值, 可以用来作标志等
    lpData(void*)   待发送的数据的起始地址(可以为NULL)
    cbData(DWORD)   待发送的数据的长度
消息的参数:
    hWnd:   接收数据的窗口的句柄
    wParam: 传送该数据的窗口句柄(NULL也无所谓)
    lParam: COPYDATASTRUCT类型变量的地址
使用示例:

    COPYDATASTRUCT cds;
char msg[] = "女孩不哭";
cds.dwData = 0;
cds.lpData = msg;
cds.cbData = strlen(msg)+1; //字符串请记得把'\0'加上, 不然就错了, 这里是ANSI字符串
SendMessage(FindWindow("nbsg_class", NULL), WM_COPYDATA, 0, (LPARAM)&cds);

注意:如果要发送的是一个CString类型的字符串,那么可以这么做

CString str = _T("女孩不哭");
char* msg = str.GetBuffer(0);

这样就可以转化为 char*类型了

--------------------------------------------
接收端对该消息的一种可能处理:

BOOL CxuanzeDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
COPYDATASTRUCT* pCDS = (COPYDATASTRUCT*)pCopyDataStruct;
CString str((char*)pCDS->lpData);
str.Format(_T("%s 标志:%d"), str, pCDS->dwData);
AfxMessageBox(str);
return CDialogEx::OnCopyData(pWnd, pCopyDataStruct);
}

说明:  
使用 WM_COPYDATA 消息的传递数据,其实是将要传递的数据复制到共享内存中去后,将地址传递给另一个进程.

在这个消息中,有一个标志dwData 这个数据是一个ULONG_PTR类型,无符号长整数,可以用作数据的标志.这样不同的标志,可以将传递的数据用作不同的用途!

最新文章

  1. CentOS7使用firewalld打开关闭防火墙与端口
  2. 极光推送Jpush(v3)服务端PHP版本集成(V3版本只调用推送API)
  3. neutron的基本原理
  4. 种类并查集(POJ 1703)
  5. apache url rewrite 的RewriteRule参数详解
  6. -_-#flash播放器自适应
  7. flex flashplayer 程序 和 air 程序 通过 LocalConnection 通信
  8. lepus监控OS配置
  9. Resetting Frame Animation
  10. Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用
  11. hihoCoder #1770 : 单调数(数位dp)
  12. SQL Data Compare 对比 SQLserver数据
  13. 如何把JS对象转成数组
  14. (11)shutil模块(文件处理模块)
  15. C++连接Oracle之OCCI(windows)
  16. debian安装filebeat5.5收集nginx日志
  17. Redis可视化客户端管理Web UI工具收集
  18. MySQL☞视图
  19. BCCoventUtils全角与半角互相转换
  20. 分布式全文检索系统SolrCloud简介

热门文章

  1. linux dns 连外网
  2. id 和 instancetype
  3. StatisticalOutlierRemoval源码
  4. linux之各个文件夹作用
  5. 【转】浏览器内核、渲染引擎、js引擎
  6. Python decode与encode
  7. Android模拟器部署历程
  8. [solr] - defType - 查询权重排序
  9. SpringMVC学习系列-后记 开启项目的OpenSessionInView
  10. EXCEL datatable 根据列名自动写入到相应属性、字段或列中