发送WM_COPYDATA消息实现进程间的通信
mark一下
结构体
struct Info{
TCHAR g_strFileType[MAX_PATH];
bool bStop;
};
这是发送端的进程
HWND hWndRcv=::FindWindow(NULL,_T("RECV COPY DATA"));
if(hWndRcv==NULL)
{
::AfxMessageBox(_T("Not Found Window"));
((CButton*)(GetDlgItem( IDC_CHECK1 )))->SetCheck(0) ; //IDC_CHECK is ID for control
return;
}
UpdateData(true);
Info *m_info;
m_info = new Info();
_tcscpy(m_info->g_strFileType,m_Filetype.GetBuffer(m_Filetype.GetLength()*2+2));
int checkState1 = IsDlgButtonChecked(IDC_CHECK1);
if (BST_CHECKED==checkState1)
{
m_info->bStop = true;
}
else
{
m_info->bStop = false;
}
COPYDATASTRUCT cpd;
cpd.dwData=1;
cpd.cbData=sizeof(Info);
cpd.lpData=(PVOID)m_info;
::SendMessage(hWndRcv,WM_COPYDATA,(WPARAM)this->m_hWnd,(LPARAM)&cpd);
UpdateData(FALSE);
::AfxMessageBox(_T("send sucess!"));
接受的进程
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,LPARAM
lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
case WM_COPYDATA:
OutputDebugString(_T("CopyData"));
// 当收到WM_COPYDATA消息时,从lParam中提取出
// COPYDATASTRUCT
PCOPYDATASTRUCT lpcds = (PCOPYDATASTRUCT)lParam;
if (lpcds->dwData==1)
{
Info *info = (Info*)(lpcds->lpData);
OutputDebugString(info->g_strFileType);
_tcscpy(g_info.g_strFileType,info->g_strFileType);
g_info.bStop = info->bStop;
}
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
发送WM_COPYDATA消息实现进程间的通信相关推荐
- 2022.8.31 进程中无名管道的特点,无名管道的创建,为何无名管道只能能够实现具有亲缘关系的进程间的通信,以及实现利用无名管道父进程给子进程发送消息的完整代码。
无名管道通信 无名管道特点: (1):只能用于具有亲缘关系的进程之间的通信.(父子进程或兄弟进程) (2):是一个半双工的通信模式,具有固定的读端和写端.(fd[0]固定为读端,fd[1]固定为写端) ...
- Qt:Qt使用WM_COPYDATA消息进行进程通信
Qt使用WM_COPYDATA消息进行进程通信 如题,Qt使用WM_COPYDATA消息进行进程通信,这次我们使用windows相关api,来实现不同的 Qt窗口进程间的通信,使用的window的 W ...
- 第十章 进程间的通信 之 Java/Android多线程开发(二)
文章目录 (一)Java 多线程开发 1.1)线程状态 1.2)线程控制方法 (1.2.1)Synchronized (1.2.2)Volatile (1.2.3)ReentrantLock 1.3) ...
- Linux之本地进程间Socket通信
文章目录 一.Sokcet 二.Sokcet API (一).sockaddr 结构: (二).struct socketaddr_in : (三).Struct socketaddr_un (四). ...
- 深刻理解 Linux 进程间七大通信(IPC)
前言 网络编程是 Linux C/C++的面试重点,今天我就来聊一聊进程间通信的问题,文章末尾列出了参考资料,希望帮助到大家. 篇幅有点长,希望大家耐心阅读. Linux 下的进程通信手段基本上是从 ...
- linux+Qt 下利用D-Bus进行进程间高效通信的三种方式
linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...
- 进程间的通信IPC(无名管道和命名管道)
进程间的通信IPC介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息. IPC的方式通常有管道(包括无名管道和命名管道).消息队列.信号量 ...
- 进程间的通信——无名管道
进程间的通信--无名管道 宗旨:技术的学习是有限的,分享的精神是无限的. 一.进程间的通信 (1)同主机进程间数据交互机制:无名管道(PIPE),有名管道(FIFO).消息队列和共享内存.无名管道多用 ...
- python多进程间通信_Python 多进程编程之 进程间的通信(Queue)
Python 多进程编程之 进程间的通信(Queue) 1,进程间通信 Process有时是需要通信的,操作系统提供了很多机制来实现进程之间的通信,而Queue就是其中的一个方法 ----这是操作系统 ...
最新文章
- DDR读写简介及相关
- add-apt-repository:找不到命令_嵌入式开发之交叉编译程序万能命令_以freetype为例...
- win7 VS2008 不需新建工程 命令行编译lua5.1.5
- python 动态类型_动态类型(Dynamic type)
- 今年的大环境很差,创业失败的和失去工作的特别多
- 工厂模式和策略模式区别
- 新技能 get —— 五笔打字
- provide sth for sb; provide sb with sth
- ADB工具安装及常用命令
- 51驱动DS1302制作电子时钟1602显示
- MySQL批量查某个库里每张表的数据量
- 《操作系统原理》 记录 (41)
- Scrollbar样式介绍
- 信息系统安全概述(课程笔记)
- jmeter压测指南
- 人大金仓数据库的归档日志
- 实验吧 - 天下武功唯快不破
- 驱动给我带来的麻烦,我在OpenGpu上论坛发的两个求助帖(让我百思不得其解呀。),都是因为驱动的原因。。...
- 小和问题(归并排序的例子)
- ES8156双通道数字转模拟音频DAC芯片
热门文章
- 类方法classmethod 绑定方法
- HDU1425 A Chess Game
- 主从复制1062错误的解决方法
- 在线网摘收藏?让Google来吧!
- 计算机清灰后无法联网,修台电脑比窦娥还冤,清灰后电脑不开机,客户:刚刚还是好好的!...
- 娜璋旅行(三)九月的甘肃新疆:人间之边,天堂之界
- iOS GPUImage之滤镜功能说明
- iOS之深入解析Objective-C和Swift初始化
- 2018/Province_Java_C/1/哪天返回
- 2017/Province_C_C++_B/2/等差素数列