WPF 让窗口激活作为前台最上层窗口的方法

WPF 让窗口激活作为前台最上层窗口的方法


原文参照林大佬的博客WPF 让窗口激活作为前台最上层窗口的方法

我只提供下,我使用的代码

[DllImport("user32.dll")]private static extern IntPtr GetForegroundWindow();[DllImport("user32.dll")]private static extern uint GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);[DllImport("user32.dll")]private static extern bool AttachThreadInput(uint idAttach, uint idAttachTo, bool fAttach);[DllImport("user32.dll")]public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);public static void SetWindowToForegroundWithAttachThreadInput(Window window){ var interopHelper = new WindowInteropHelper(window); var thisWindowThreadId = GetWindowThreadProcessId(interopHelper.Handle, IntPtr.Zero); var currentForegroundWindow = GetForegroundWindow(); var currentForegroundWindowThreadId = GetWindowThreadProcessId(currentForegroundWindow, IntPtr.Zero);  AttachThreadInput(currentForegroundWindowThreadId, thisWindowThreadId, true); window.Show(); window.Activate();  // 去掉和其他线程的输入链接 AttachThreadInput(currentForegroundWindowThreadId, thisWindowThreadId, false); // 用于踢掉其他的在上层的窗口   window.Topmost = true;   window.Topmost = false;}

 


Comments

Popular posts from this blog

指纹浏览器定制开发全面助力企业安全与智能升级

跨境电商资讯:一文带你走进亚马逊19大海

利用 Google 购物广告促进销量的初学者指南