首页 > 系统相关 >使用WM_COPYDATA实现进程间通信

使用WM_COPYDATA实现进程间通信

时间:2024-09-12 15:52:59浏览次数:3  
标签:接收端 WM COPYDATA cpd 间通信 rc strData

发送端

LRESULT copyData;  //copyDataResult has value returned by other app 
CWnd *pOtherWnd = CWnd::FindWindow(NULL, _T("窗体名"));
CString strData;
strData.Format(L"%.1lf", tickdata);
if (pOtherWnd)
{
	COPYDATASTRUCT cpd;   //上面提到的结构体
	cpd.dwData = 0;
	cpd.cbData = strData.GetLength() + sizeof(wchar_t);        //sizeof(wchar_t)指 \0 的长度。     
	cpd.lpData = (void*)strData.GetBuffer(cpd.cbData);
	copyData = pOtherWnd->SendMessage(WM_COPYDATA, (WPARAM)AfxGetApp()->m_pMainWnd->GetSafeHwnd(), (LPARAM)&cpd);
	strData.ReleaseBuffer();
}

接收端
接收端打开发送端程序并隐藏界面

ShellExecute(this->m_hWnd, _T("open"), _T("send.exe"), NULL, NULL, SW_HIDE);

接收端接收并显示数据—右键项目->类向导->消息->添加WM_COPYDATA处理程序

BOOL CTestDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	
	CString strRec = (LPCTSTR)(pCopyDataStruct->lpData);
	strRec += _T("  mm");
	SetDlgItemText(IDC_STATIC_SHOWTICK, strRec);
    
    //局部刷新数据
	CRect rc;
	m_staticshowtick.GetWindowRect(rc);
	ScreenToClient(rc);
	InvalidateRect(rc);

	return CDialogEx::OnCopyData(pWnd, pCopyDataStruct);
}

标签:接收端,WM,COPYDATA,cpd,间通信,rc,strData
From: https://blog.csdn.net/qq_42945868/article/details/142178313

相关文章

  • CTK框架(九):插件间通信
    目录1.概述2.主要接口和方法3.通信方式4.实现步骤5.实现示例5.1.类通信5.2.信号槽通信6.类通信和信号槽通信的区别7.注意事项1.概述        在CTKPluginFramework中,插件间的通信主要通过EventAdmin服务来完成。EventAdmin是一种基于发布/订阅的通信方式,......
  • 理解Window和WIndowManager
    Window表示一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么这种效果就需要用到Window来实现。Window是一个抽象类,它的具体实现是PhoneWindow。创建一个Window是很简单的事,只需要通过WindowManager即......
  • 进程间通信之消息队列详解
    目录一、什么是消息队列?二、消息队列的优缺点优点:缺点:三、消息队列的实现原理四、消息队列的使用场景五、消息队列的编程实现(C语言示例)1.创建消息队列2.发送消息3.接收消息4.删除消息队列六、总结        在现代操作系统中,进程间通信(IPC)是一个至关......
  • STM32 PWM 详解(基于 STM32F429 HAL 库)
    目录前言一、PWM简介二、STM32F429的PWM功能1.定时器资源2.PWM模式3.PWM原理图三、使用HAL库配置STM32F429的PWM1.开启时钟2.配置定时器3.配置通道 4.启动定时器 5.PWM占空比的调节 四、应用实例五、总结前言        在嵌入式系统开......
  • 安卓framework单屏幕Display秒双/多屏互动相关需求改进-wms实战开发
    背景前面已经给学员朋友们分享过单屏秒变双屏的成果展示,具体详情可以点击这里:https://mp.weixin.qq.com/s/KdYTLMuXiBdjM0kZmYKzPg一些vip学员朋友也纷纷求助马哥的实现patch代码,想用于公司的实战项目实现。但是在公司需求实现要求和马哥这边的实现还是会有一些需求上的......
  • 进程间通信-进程池
    目录理解​完整代码 完善代码 回收子进程:​ 不回收子进程:子进程使用重定向优化理解#include<iostream>#include<unistd.h>#include<string>#include<vector>#include<sys/types.h>voidwork(intrfd){}//masterclassChannel{private:i......
  • 记录 PyQt6 / PySide 6 自定义边框窗口的 Bug 及可能可行的解决方案:窗口抖动和添加 DW
    前言:本篇文章将要讨论我在前不久发表的关于PyQt6/PySide6自定义边框窗口代码及内容中的问题:(终)PyQt6/PySide6+Pywin32自定义标题栏窗口+完全还原Windows原生窗口边框特效_pyside6win32无边框窗口-CSDN博客https://blog.csdn.net/2402_84665876/article/detail......
  • 进程间通信(IPC):概念、分类与信号机制(2)
    文章目录进程间通信(IPC):概念、分类与信号机制引言IPC的分类信号机制信号周期信号的产生信号的发送信号的接收信号处理示例IPC的其他方法管道通信消息队列共享内存套接字通信服务器端代码客户端代码优点与缺点优点缺点结论进程间通信(IPC):概念、分类与信号机制引言......
  • Springboot高校教师科研管理系统l33wm程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:教师,学院,科研课题,软件著作权,论文信息,专利信息,科研成果,科研课题校审,著作权校审,论文校审,专利校审,科研成果校审开题报告内容一、项目背景与意......
  • 8.18域横向smb&wmi明文或hash传递
    知识点windows2012以上版本默认关闭wdigust,攻击者无法从内存中获取明文密码;Windows2012以下版本如安装KB287199补丁,同样也无法从内存中获取明文密码;解决方法:1、利用哈希hash传递(ptl、ptk等)进行移动2、利用其他服务协议(SMB、WMI等)进行哈希移动3、利用注册表操作开启wdigu......