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消息实现进程间的通信相关推荐

  1. 2022.8.31 进程中无名管道的特点,无名管道的创建,为何无名管道只能能够实现具有亲缘关系的进程间的通信,以及实现利用无名管道父进程给子进程发送消息的完整代码。

    无名管道通信 无名管道特点: (1):只能用于具有亲缘关系的进程之间的通信.(父子进程或兄弟进程) (2):是一个半双工的通信模式,具有固定的读端和写端.(fd[0]固定为读端,fd[1]固定为写端) ...

  2. Qt:Qt使用WM_COPYDATA消息进行进程通信

    Qt使用WM_COPYDATA消息进行进程通信 如题,Qt使用WM_COPYDATA消息进行进程通信,这次我们使用windows相关api,来实现不同的 Qt窗口进程间的通信,使用的window的 W ...

  3. 第十章 进程间的通信 之 Java/Android多线程开发(二)

    文章目录 (一)Java 多线程开发 1.1)线程状态 1.2)线程控制方法 (1.2.1)Synchronized (1.2.2)Volatile (1.2.3)ReentrantLock 1.3) ...

  4. Linux之本地进程间Socket通信

    文章目录 一.Sokcet 二.Sokcet API (一).sockaddr 结构: (二).struct socketaddr_in : (三).Struct socketaddr_un (四). ...

  5. 深刻理解 Linux 进程间七大通信(IPC)

    前言 网络编程是 Linux C/C++的面试重点,今天我就来聊一聊进程间通信的问题,文章末尾列出了参考资料,希望帮助到大家. 篇幅有点长,希望大家耐心阅读. Linux 下的进程通信手段基本上是从 ...

  6. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  7. 进程间的通信IPC(无名管道和命名管道)

    进程间的通信IPC介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息. IPC的方式通常有管道(包括无名管道和命名管道).消息队列.信号量 ...

  8. 进程间的通信——无名管道

    进程间的通信--无名管道 宗旨:技术的学习是有限的,分享的精神是无限的. 一.进程间的通信 (1)同主机进程间数据交互机制:无名管道(PIPE),有名管道(FIFO).消息队列和共享内存.无名管道多用 ...

  9. python多进程间通信_Python 多进程编程之 进程间的通信(Queue)

    Python 多进程编程之 进程间的通信(Queue) 1,进程间通信 Process有时是需要通信的,操作系统提供了很多机制来实现进程之间的通信,而Queue就是其中的一个方法 ----这是操作系统 ...

最新文章

  1. DDR读写简介及相关
  2. add-apt-repository:找不到命令_嵌入式开发之交叉编译程序万能命令_以freetype为例...
  3. win7 VS2008 不需新建工程 命令行编译lua5.1.5
  4. python 动态类型_动态类型(Dynamic type)
  5. 今年的大环境很差,创业失败的和失去工作的特别多
  6. 工厂模式和策略模式区别
  7. 新技能 get —— 五笔打字
  8. provide sth for sb; provide sb with sth
  9. ADB工具安装及常用命令
  10. 51驱动DS1302制作电子时钟1602显示
  11. MySQL批量查某个库里每张表的数据量
  12. 《操作系统原理》 记录 (41)
  13. Scrollbar样式介绍
  14. 信息系统安全概述(课程笔记)
  15. jmeter压测指南
  16. 人大金仓数据库的归档日志
  17. 实验吧 - 天下武功唯快不破
  18. 驱动给我带来的麻烦,我在OpenGpu上论坛发的两个求助帖(让我百思不得其解呀。),都是因为驱动的原因。。...
  19. 小和问题(归并排序的例子)
  20. ES8156双通道数字转模拟音频DAC芯片

热门文章

  1. 类方法classmethod 绑定方法
  2. HDU1425 A Chess Game
  3. 主从复制1062错误的解决方法
  4. 在线网摘收藏?让Google来吧!
  5. 计算机清灰后无法联网,修台电脑比窦娥还冤,清灰后电脑不开机,客户:刚刚还是好好的!...
  6. 娜璋旅行(三)九月的甘肃新疆:人间之边,天堂之界
  7. iOS GPUImage之滤镜功能说明
  8. iOS之深入解析Objective-C和Swift初始化
  9. 2018/Province_Java_C/1/哪天返回
  10. 2017/Province_C_C++_B/2/等差素数列