开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

用WM_COPYDATA实现进程通信

简介:
+关注继续查看
用WM_COPYDATA的前提:
1,知道接收消息进程的句柄。
2,接收消息进程重载了WM_COPYDATA消息映射 
发送端
复制代码
void CSendDlg::OnBnClickedSend()
{
    CWnd *pWnd = CWnd::FindWindow(NULL,"接收窗口的标题");

    CString sCopyData = "传递的字符串";
    COPYDATASTRUCT cpd;
    cpd.dwData = 0;
    cpd.cbData = sCopyData.GetLength() + 1;//多加一个长度,防止乱码
    cpd.lpData = (void*)sCopyData.GetBuffer(cpd.cbData);

    pWnd->SendMessage(WM_COPYDATA,NULL,(LPARAM)&cpd);
}
复制代码
接收端
复制代码
// 声明
afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct);
// 实现
ON_WM_COPYDATA()
BOOL CReceiveDlg::OnCopyData( CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct )
{
    AfxMessageBox((LPCSTR)(pCopyDataStruct->lpData));
    return CWnd::OnCopyData(pWnd, pCopyDataStruct);
}
复制代码
注意乱码的处理。
url:http://greatverve.cnblogs.com/archive/2012/12/17/WM_COPYDATA.html
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2012/12/17/WM_COPYDATA.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
3D接雨水2(leetcode)——Java实现(又是想上吊的一天)
给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。以下的内容回答你的疑惑和困难。
152 0
SAP ABAP和Java的动态代理实现
SAP ABAP和Java的动态代理实现
25 0
EasyUI+JavaWeb奖助学金管理系统[11]-编辑与删除项目的实现
本文目录 1. 本章任务 2. 添加编辑按钮 3. 添加编辑弹窗 4. 点击编辑后弹窗加载当前信息 5. 点击保存后提交表单 6. 后端执行编辑保存 7. 测试
23 0
Web实现音频、视频通信
Google开源实时通信项目WebRTC Google正式开源了WebRTC实时通信项目,希望浏览器厂商能够将该技术内建在浏览器中,从而使Web应用开发人员能够通过HTML标签和JavaScript API就实现Web音频、视频通信功能。
1613 0
Red Gate系列之二 SQL Source Control 3.0.13.4214 Edition 数据库版本控制器 完全破解+使用教程
原文:Red Gate系列之二 SQL Source Control 3.0.13.4214 Edition 数据库版本控制器 完全破解+使用教程 Red Gate系列之二 SQL Source Control 3.
1659 0
3402
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载