博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用WM_COPYDATA进行进程间通信
阅读量:5831 次
发布时间:2019-06-18

本文共 1489 字,大约阅读时间需要 4 分钟。

发信消息

void CControlDlg::OnBnClickedButtonSend(){    // TODO: 在此添加控件通知处理程序代码    CString strWindowTitle =  _T("ClientDemo");      CString strDataToSend = _T("成功通信");      HWND hOtherWnd = ::FindWindow(NULL,_T("DLL窗口")); //_T("YK Application"),NULL    if (hOtherWnd != NULL && ::IsWindow(hOtherWnd))      {          COPYDATASTRUCT cpd;          cpd.dwData = 0;          cpd.cbData = strDataToSend.GetLength() * sizeof(TCHAR);          cpd.lpData = (void*)strDataToSend.GetBuffer(0);          HRESULT hResult = ::SendMessage(hOtherWnd, WM_COPYDATA, (WPARAM)(AfxGetApp()->m_pMainWnd), (LPARAM)&cpd);          strDataToSend.ReleaseBuffer();      }  }

DLL接收端先添加WM_COPYDATA中添加消息映射

BEGIN_MESSAGE_MAP(CWGDLG, CDialogEx)    ON_WM_COPYDATA()//消息映射    ON_BN_CLICKED(IDC_BUTTON1, &CWGDLG::OnBnClickedButton1)    ON_BN_CLICKED(IDOK, &CWGDLG::OnBnClickedOk)END_MESSAGE_MAP()

然后回函数中写代码

BOOL CWGDLG::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct){    // TODO: 在此添加消息处理程序代码和/或调用默认值    //AfxMessageBox((LPCSTR)(pCopyDataStruct->lpData));    //MessageBox(NULL, _T("成功通信"), MB_OK);      if (pCopyDataStruct != NULL)      {          LPCTSTR pszText = (LPCTSTR)(pCopyDataStruct->lpData);          DWORD dwLength = (DWORD)(pCopyDataStruct->cbData);          TCHAR szRecvText[1024] = {
0}; memcpy(szRecvText, pszText, dwLength); MessageBox(szRecvText, _T("成功通信"), MB_OK); } return CDialogEx::OnCopyData(pWnd, pCopyDataStruct);}

 

转载于:https://www.cnblogs.com/wumac/p/4476830.html

你可能感兴趣的文章
Haystack:GitHub的异常监控工具
查看>>
Oracle将NetBeans交给了Apache基金会
查看>>
针对ASP.NET Core Web API的先进架构
查看>>
FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈
查看>>
eBay是如何将Envoy作为边缘代理的:将硬件负载均衡器替换为软件解决方案
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
混沌大会问答:混沌工程的好处、挑战和实践
查看>>
Java值类型设计进展
查看>>
Visual Studio 15.8 Preview 3支持多点编辑功能
查看>>
JavaScript数组知多少
查看>>
Jakarta EE:云原生Java的新平台
查看>>
CEO换人、IPO延期,比特大陆艰难转型路漫漫
查看>>
前端开发篇——浏览器默认样式及css初始化
查看>>
放弃了成为超级富豪的机会!360区块链实验室总结了实现公链双花攻击的多种方法...
查看>>
React:"don't fuck it up like Google did with Angular"
查看>>
基于CQRS的架构在答题PK小游戏中的实践案例
查看>>
js中call、apply、bind那些事
查看>>
golang 实现单链表
查看>>
Vmmare centos 固定ip设置方法
查看>>
gitbook
查看>>