转:http://www.cnblogs.com/nbsofer/archive/2012/09/11/2680980.html
消息作用: 在进程间共享数据(内部通过创建内存映射文件) 消息介绍: 需要用到的数据结构/类型: 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); 接收端对该消息的一种可能处理: case WM_COPYDATA: { //这里的消息应该是以 '\0' 结尾的字符串 COPYDATASTRUCT* pCDS = (COPYDATASTRUCT*)lParam; MessageBox(hWnd, pCDS->lpData, "", MB_OK); return TRUE; } 说明: 女孩不哭(QQ:191035066) @ 2012-09-11 23:25:31 @ http://www.cnblogs.com/nbsofer 分类: Win32开发 |
|