public void Update() { var hwnd = WindowsAPI.GetForegroundWindow(); if (foregroundWindow.Handle != hwnd) { var windowInfo = GetWindowInfo(hwnd); foregroundWindow = windowInfo; } hwnd = WindowsAPI.GetTopMostWindow(IntPtr.Zero); if (topMostWindow.Handle != hwnd) { var windowInfo = GetWindowInfo(hwnd); topMostWindow = windowInfo; } WindowActived?.Invoke(this, foregroundWindow); TopMostChanged?.Invoke(this, topMostWindow); }
protected virtual void OnTopMostChanged(EventArgs e) { TopMostChanged?.Invoke(this, e); }