连续在两个公司使用WM_COPYDATA实现进程间通信了,整理一下具体步骤:一. 进程A通过ShellExecute启动进程B, 将用于通信的窗口句柄hWndA(已强转为int值)通过命令行参数传递给进程B, B保存hWndA.二. 进程B组装消息COPY ...
连续在两个公司使用WM_COPYDATA实现进程间通信了,整理一下
具体步骤:
一. 进程A通过ShellExecute启动进程B, 将用于通信的窗口句柄hWndA(已强转为int值)通过命令行参数传递给进程B, B保存hWndA.
二. 进程B组装消息COPYDATASTRUCT copyData, 将自己用于通信的窗口句柄hWndB包含在其中,发送WM_COPYDATA消息给hWndA:
SendMessage(hWndA, WM_COPYDATA, 0, (LPARAM)©Data);
进程A收到WM_COPYDATA消息时,将hWndB存储. 进程A需要发消息给进程B时, 也使用该模式:
SendMessage(hWndB, WM_COPYDATA, 0, (LPARAM)©Data);
进程通信通路完成.
COPYDATASTRUCT 中的dwData中用于存放消息类型.
注意: 接收到WM_COPYDATA时, 给自己Post一个自定义的消息号, 立马返回, 然后根据自定义的消息号进行其他操作.
原标题:WM_COPYDATA进程间通信方案
关键词:进程
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。