public static void ActivateWindow(IntPtr handle) { var pid = default(int); var fore = User32PI.GetWindowThreadProcessId(User32PI.GetForegroundWindow(), out pid); var target = User32PI.GetWindowThreadProcessId(handle, out pid); User32PI.AttachThreadInput(target, fore, true); User32PI.SetForegroundWindow(handle); User32PI.AttachThreadInput(target, fore, false); User32PI.SetActiveWindow(handle); }
public static string GetActiveWindowText() { var hwnd = User32PI.GetForegroundWindow(); if (hwnd == IntPtr.Zero) { return(null); } else { var buf = new StringBuilder(2048); User32PI.GetWindowText(hwnd, buf, buf.Capacity); return(buf.ToString()); } }