本人在测试基于winForm的应用程序之间通信时,通过SendMessage发送消息
LRESULT WINAPI SendMessage( _In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam );
hWnd:接收方的句柄(指针)。
Msg:发生的消息类型(不同的类型代码对应不同lparam数据结构)
wParam:消息携带的参数(不同的消息类型需要不同的输入参数,如 WM_GETTEXT,wParam一般为获取的文本缓冲区大小)
lParam:消息携带的参数(不同的消息类型可以获取或者发送不同的数据,如果lParam的数据结构与消息不对应,可能导致消息发送失败)
以上描述都是通过SendMessage测试不同的消息类型和lParam数据结构进行对比结果
基于WinForm的应用程序通信方式对比:
1、消息机制:比较适合自动化处理的应用环境。
2、Clipboard(剪切板):比较适合人工控制的应用环境。
3、拖拽:类似于消息机制,不同的是发生数据是通过事件参数打包发送。
4、共享内存:与clipboard类似。