Jad*_*ias 4 wpf window windows-7
我曾经System.Windows.Window.IsActive检测窗口是否在前台,并且在某些情况下有效。但我发现了一些情况并非如此,我想知道是否有任何方法可以检测到它。
除非仅后台进程获得焦点,否则以下方法有效。Windows 桌面就是这种情况。它窃取了前台窗口的状态,但它并不在前台。
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
public bool IsForeground()
{
Window window = Application.Current.MainWindow;
IntPtr windowHandle = new WindowInteropHelper(window).Handle;
IntPtr foregroundWindow = GetForegroundWindow();
return windowHandle == foregroundWindow;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |