MFC - 进程间通信 SendMessage

一、发送端:

1.自定义消息: 

      #define  WM_MY_MESSAGE WM_USER+10086

2.发送消息:    

      void CSenderDlg::OnBnClickedBtnSender()
      {
        // 向发送端发送消息
        CWnd * pWnd = CWnd::FindWindow(NULL,_T("进程间通讯 - SendMessage 接收端"));
        if (NULL == pWnd)
        {
          AfxMessageBox(_T("接收端没有运行"));
          return ;
        }
        pWnd->SendMessage(WM_MY_MESSAGE, 0, 0);
      }

 

二、接收端:

1. 自定义消息:必须和发送端的消息一致!

      #define  WM_MY_MESSAGE WM_USER+10086

2.CXXXDlg.h中声明:     

      public:   // 必须是public
      afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);

3.CXXXDlg.h中消息映射和实现:

  3.1 消息映射:   // 自定义消息映射

      ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)

  3.2 实现:      

      LRESULT CReciverDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
      {
        if(wParam == 0 && lParam == 0)
        {
          SetDlgItemText(IDC_STATIC1,_T("接收到消息!!!"));
        }
        return 0;
      }

      

posted @ 2016-04-15 16:03  C/C++/Python/Java  阅读(1004)  评论(0编辑  收藏  举报