Exemple #1
0
        public void HandleMessage(PipeMessageEx msg)
        {
            if (msg.msg == signal.WMC_SETFOCUS)
            {
                if (msg.wParam > 0)
                {
                    var hwnd = new IntPtr((long)msg.wParam);
                    SignalAllListenersExcept(false, hwnd);
                    SignalListeners(hwnd, true);
                }
            }
            else if (msg.msg == signal.WMC_ACTIVATEAPP)
            {
                // If the current hwnd is the one receiving focus
                if (msg.lParam != 0)
                {
                    var hwnd = new IntPtr((long)msg.wParam);
                    var node = windowTracker.GetNodes(hwnd);

                    // And if we got a node handler for this window
                    if (node != null)
                    {
                        SignalAllListenersExcept(false, hwnd);
                        SignalListeners(hwnd, true);
                    }
                }
            }
        }