在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
WPF 接收初始化 /// <summary> /// 初始化窗体句柄消息接收函数 /// </summary> private void InitailWinHand() { HwndSource hWndSource; WindowInteropHelper wih = new WindowInteropHelper(this); hWndSource = HwndSource.FromHwnd(wih.Handle); //添加处理程序 hWndSource.AddHook(new HwndSourceHook(MainWindowProc)); } private IntPtr MainWindowProc(IntPtr hwnd, int msg, IntPtr lParam, IntPtr wParam, ref bool handled) { switch (msg) { //执行动作 } return IntPtr.Zero; }
WINDFORM 接收 protected override void WndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case 自定义消息: break; default: base.WndProc(ref m); // 调用基类函数处理其他消息。 break; } }
SendMessage 用法 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。该函数是应用程序和应用程序之间进行消息传递的主要手段之一。 参数: hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。 Msg:指定被发送的消息。 wParam:指定附加的消息指定信息。 IParam:指定附加的消息指定信息。 返回值:返回值指定消息处理的结果,依赖于所发送的消息。 备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。 如果指定的窗口是由调用线程创建的,则窗口程序立即作为子程序调用。如果指定的窗口是由不同线程创建的,则系统切换到该线程并调用恰当的窗口程序。线程间的消息只有在线程执行消息检索代码时才被处理。发送线程被阻塞直到接收线程处理完消息为止。 C#中使用该函数首先导入命名空间: 然后写API引用部分的代码,放入 class 内部
|
请发表评论