利用sendMessage实现进程间通信

上传者: yhm_js | 上传时间: 2022-03-15 10:40:18 | 文件大小: 260KB | 文件类型: -
来源 visual c++开发范例,IDE:vs2010. 分为 a.server(接收消息,显示接收到的数值). b.client(打开server进程,向server主窗体发送消息). //得到主窗口 HWND CMyJC006ClientDlg::GetServerMainWnd() { HWND hWnd; if(0==EnumWindows((WNDENUMPROC)EnumWndProc,(LPARAM)&hWnd)) //find { return hWnd; } return NULL; } //枚举窗口的回调函数 BOOL CALLBACK EnumWndProc(HWND hWnd,LPARAM lParam) { TCHAR szWndText[MAX_PATH]; unsigned long dwProcessID; GetWindowThreadProcessId(hWnd,&dwProcessID); if(dwProcessID==g_ProcessId) { if(NULL==::GetParent(hWnd)) //is top window { *(HWND*)lParam=hWnd; return FALSE; //means 0 } } return TRUE; } void CMyJC006ClientDlg::OnBnClickedButtonSend() { // TODO: 在此添加控件通知处理程序代码 //handle --wnd UpdateData(TRUE); //to var HWND hWnd=GetServerMainWnd(); if(hWnd==NULL) { AfxMessageBox(_T("获取MyJC006Server窗口句柄失败!")); ((CButton*)GetDlgItem(IDC_BUTTON_OPEN))->EnableWindow(TRUE); ((CButton*)GetDlgItem(IDC_BUTTON_SEND))->EnableWindow(FALSE); ((CEdit*)GetDlgItem(IDC_EDIT_SENDTEXT))->SetReadOnly(TRUE); return; } //进程ID-->主窗口句柄 CWnd *pWnd=CWnd::FromHandle (hWnd); //wonder 22,get句柄server窗体 pWnd->SendMessage (WM_TEXTMESSAGE,this->m_nTextMessage,0); }

文件下载

评论信息

  • u012152696 :
    不错,适合参考
    2015-01-30
  • hancial :
    可以向活动窗体通信
    2014-08-30
  • coffee_coffee_coffee :
    挺适合学习的,谢谢
    2013-10-21
  • notpurec :
    很简单的问题,资料!
    2013-10-10
  • lm_hw :
    可以向活动窗体通信,可否提供一个和界面无关的钩子程序,处理类似的消息呢...
    2012-10-25

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明