正文

SendMessage 进程间简单通信问题 vc++2006-09-25 11:58:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/embed/18793.html

分享到:

SendMessage进程间简单通信问题 vc++ 本例以两个VC Dialog application 为例用SendMessage进行两进程间简单通信: 主要API:FindWindow(LPCTSTR lpClassName,    LPCTSTR lpWindowName  ) //通过进程名得到进程handle SendMessage(UINT message, WPARAM wParam = 0, LPARAM lParam = 0) //The result of the message processing; its value depends on the message sent. 主程序 Server :其他均为默认. MFC 建立一Dialog 应用程序,工程名字:Server 添加一Button控件command,并与之对应的函数OnCommand 在ServerDlg.h里添加自己的消息:#define WM_COMM WM_USER+10 函数 OnCommand 添加代码: {  CString str="Client"; CWnd *pWnd=CWnd::FindWindow(NULL,str); if(pWnd)  pWnd->SendMessage(WM_COMM,0,0);//通过SendMessage的后两个参数 //WPARAM wParam, LPARAM lParam传递信息  else MessageBox("FindWindow NULL"); } MFC另 建立一Dialog 应用程序,工程名字:Client 在 其 OnInitDialog里最后添加代码SetWindowText("Client"); 在Client.h里添加自己的消息:#define WM_COMM WM_USER+10 添加消息映射: BEGIN_MESSAGE_MAP(CSenderDlg, CDialog) //{{AFX_MSG_MAP(CSenderDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON()  ON_MESSAGE(WM_COMM,OnSendMsg)//添加的自己的消息处理 //}}AFX_MSG_MAPEND_MESSAGE_MAP() 给ClientDlg.cpp添加自己的消息处理函数OnSendMsg(WPARAM wParam, LPARAM lParam) { // wParam  lParam既是要传递的信息 if(wParam==0 && lParam==0) AfxMessageBox("HelloWorld!"); }

阅读(4996) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册