自定义消息实现进程间的通信

本文介绍了如何通过自定义消息实现Windows进程间的通信,包括系统消息和用户自定义消息的区别,以及如何使用WM_USER定义和RegisterWindowsMessage()注册自定义消息。详细展示了发送端和接收端的实现步骤,包括消息映射表的设置和消息处理函数的定义。需要注意的是,这种通信方式限制了数据类型,仅能传递长整型数据。
摘要由CSDN通过智能技术生成

 

自定义消息实现进程间的通信

想要用消息实现进程间的通信,则需要在这两个程序中定义或注册相同的消息,才能保证数据
通信的进行

消息分为两种:1,系统消息2,用户自定义消息。
  系统消息的定义是从0到0x3FF,用户可以使用0x400到0x7FFF定义自己的消息。
  windows 已经把0x400定义为 WM_USER。用户在定义自己的消息的时候可以在 WM_USER
  上加一个值,注意:不能超出windows提供的范围。
  例如:
       #define WM_MSG WM_USER+10;

  还有种自定义窗口消息的方法使用RegisterWindowsMessage()函数来注册这个消息,可以不必考虑
  windows提供的范围。
  例如:
       const UINT wm_nRegMsg = RegisterWindowsMessage("reg_data");
   
具体过程:
(1)发送端
   1、首先定义消息在C****Dlg.cpp中  #define WM_COMM WM_USER + 10
   2、为编辑框添加int型变量m_strUserMsg
      发送按钮实现代码:
        UpdateData(TRUE);
 CWnd *pWnd = CWnd::FindWindow(NULL,_T("DataRecv"));
 if (pWnd == NULL)
 {
  MessageBox(_T("获取句柄失败!"));
  return ;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值