private void InitEther() { Size size = GetElementPixelSize(this); rendererControl = new RendererHost(size.Height, size.Width); rendererControl.MessageHook += new HwndSourceHook(WndProcMsgFilter); hwndHostElement.Child = rendererControl; etherInitialized = true; }
private IntPtr WndProcMsgFilter(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { if (rendererControl.HwndRenderer == default) { return(IntPtr.Zero); } if (msg.Equals(WM_MOUSEACTIVATE)) { Logger.LogDebug("Cauldron", $"Sending message 0x0006 (WM_ACTIVATE), 1, 0 to HWND {rendererControl.HwndRenderer}"); RendererHost.SendMessage(rendererControl.HwndRenderer, 0x0006, new IntPtr(1), new IntPtr(0)); } handled = false; return(IntPtr.Zero); }