WPF应用程序使用SendMessage实现进程间通信(含示例代码)
1.函数定义
使用WPF框架的C#窗体应用程序可以使用SendMessage方法实现进程间通信,SendMessage属于Windows API宏,可以将指定的消息发送到一个或多个窗口,直到窗口程序处理完消息再返回,和PostMessage方法不同,PostMessage是将一个消息寄送到一个线程的消息队列后就立即返回。
2.函数原型
SendMessage的函数原型为:
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
参数定义为:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息特定信息。
IParam:指定附加的消息特定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
3.可能需要的引用
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
// 导出SendMessage函数
[DllImport("User32.dll",EntryPoint = "SendMessage")]
private static extern intSendMessage(IntPtr hWnd,