文件名称:进程间使用copydata完成通信
文件大小:4.24MB
文件格式:ZIP
更新时间:2017-07-23 08:27:55
copydata 进程间通信 代码
进程间通信最简单的方式就是发送WM_COPYDATA消息。 发送WM_COPYDATA消息: SendMessage(接收窗口句柄, WM_COPYDATA, (WPARAM)发送窗口句柄, (LPARAM)&CopyData); 其中的CopyData为COPYDATASTRUCT结构类型,该结构定义如下: typedef struct tagCOPYDATASTRUCT { DWORD dwData; // Specifies data to be passed to the receiving application. DWORD cbData; //Specifies the size, in bytes, of the data pointed to by the lpData member. PVOID lpData; // Pointer to data to be passed to the receiving application. can be NULL. } COPYDATASTRUCT, *PCOPYDATASTRUCT; 接收WM_COPYDATA消息: 只要用COPYDATASTRUCT *pCopyData = (COPYDATASTRUCT*)lParam;就可以了。接收方应认为这些数据是只读的。 由于发送方在接收方处理WM_COPYDATA消息完毕前都是处于等待中,所以接收方应当尽快处理WM_COPYDATA消息。 本资源中user1需要先发送,携带有主窗口句柄,然后recv根据窗口句柄回复,详情见代码
【文件预览】:
3_copydata
----RecvMsg()
--------RecvMsgDlg.h(1KB)
--------RecvMsg.h(1KB)
--------RecvMsg.cpp(1KB)
--------RecvMsg.rc(5KB)
--------resource.h(639B)
--------RecvMsg.clw(844B)
--------RecvMsgDlg.cpp(3KB)
--------Debug()
--------res()
--------StdAfx.cpp(209B)
--------RecvMsg.plg(248B)
--------RecvMsg.aps(34KB)
--------RecvMsg.dsp(4KB)
--------StdAfx.h(1KB)
----user1()
--------user1.rc(5KB)
--------resource.h(637B)
--------user1.opt(54KB)
--------user1.clw(818B)
--------Debug()
--------user1.aps(34KB)
--------user1.cpp(1KB)
--------user1.ncb(57KB)
--------user1.h(1KB)
--------res()
--------StdAfx.cpp(207B)
--------user1.dsw(731B)
--------user1Dlg.h(1KB)
--------user1.dsp(4KB)
--------StdAfx.h(1KB)
--------user1Dlg.cpp(3KB)
--------user1.plg(244B)