private IntPtr GetParentWindow(CoreUIParent uiParent) { #if WINDOWS_APP // On UWP there is no need for a window handle return(IntPtr.Zero); #endif #if DESKTOP || NET5_WIN // net core doesn't reference WinForms if (uiParent?.OwnerWindow is IWin32Window window) { _logger.Info("Owner window specified as IWin32Window."); return(window.Handle); } #endif #if DESKTOP || NET5_WIN || NET_CORE if (uiParent?.OwnerWindow is IntPtr ptr) { _logger.Info("Owner window specified as IntPtr."); return(ptr); } IntPtr foregroundWindow = WindowsNativeMethods.GetForegroundWindow(); return(foregroundWindow); #endif }
private IntPtr GetParentWindow(CoreUIParent uiParent) { #if WINDOWS_APP // On UWP there is no need for a window handle return(IntPtr.Zero); #else if (uiParent?.OwnerWindow is IntPtr ptr) { _logger.Info("Owner window specified as IntPtr."); return(ptr); } if (uiParent?.OwnerWindow is IWin32Window window) { _logger.Info("Owner window specified as IWin32Window."); return(window.Handle); } return(WindowsNativeMethods.GetForegroundWindow()); #endif }