KPFloatingPanel.MainForm.SetForegroundWindow C# (CSharp) Method

SetForegroundWindow() public method

public SetForegroundWindow ( Form form, bool force ) : bool
form Form
force bool
return bool
        public bool SetForegroundWindow(Form form, bool force)
        {
            IntPtr window = form.Handle;
            IntPtr windowForeground = GetForegroundWindow();
            if (window == windowForeground || SetForegroundWindow(window))
                return true;

            if (force == false)
                return false;

            if (windowForeground == IntPtr.Zero)
                return false;

            if (!AttachThreadInput(System.Threading.Thread.CurrentThread.ManagedThreadId, GetWindowThreadProcessId(windowForeground, 0), true))
                return false;

            SetForegroundWindow(window);
            AttachThreadInput(System.Threading.Thread.CurrentThread.ManagedThreadId, GetWindowThreadProcessId(windowForeground, 0), false);
            form.BringToFront();
            form.Focus();
            return (GetForegroundWindow() == window);
        }

Same methods

MainForm::SetForegroundWindow ( IntPtr hWnd ) : bool