public static WpfScreen GetScreenFrom(Window window) { WindowInteropHelper windowInteropHelper = new WindowInteropHelper(window); Screen screen = System.Windows.Forms.Screen.FromHandle(windowInteropHelper.Handle); WpfScreen wpfScreen = new WpfScreen(screen); return(wpfScreen); }
/// Cerco nel vettore degli schermi alla posizione indicata. /// Se l'indice è fuori dal vettore non viene sollevata eccezione, ma ritorno NULL /// </summary> /// <param name="deviceEnum">indice intero nel vettore degli schermi</param> /// <returns>null se non lo trovo</returns> public static WpfScreen GetScreenFrom(short deviceEnum) { WpfScreen wpfScreen = null; if (deviceEnum >= 0 && deviceEnum < Screen.AllScreens.Count <Screen>()) { wpfScreen = new WpfScreen(Screen.AllScreens.ElementAt(deviceEnum)); } return(wpfScreen); }
public static WpfScreen GetScreenFrom(System.Windows.Point point) { int x = (int)Math.Round(point.X); int y = (int)Math.Round(point.Y); // are x,y device-independent-pixels ?? System.Drawing.Point drawingPoint = new System.Drawing.Point(x, y); Screen screen = System.Windows.Forms.Screen.FromPoint(drawingPoint); WpfScreen wpfScreen = new WpfScreen(screen); return(wpfScreen); }
/// <summary> /// Se trovo un device con lo stesso nome bene. /// Altrimenti torno null /// </summary> /// <param name="deviceName">Nome del device esempio: \\.\DEVICE1</param> /// <returns>null se non lo trovo</returns> public static WpfScreen GetScreenFrom(string deviceName) { WpfScreen wpfScreen = null; foreach (Screen screen in System.Windows.Forms.Screen.AllScreens) { if (screen.DeviceName.Equals(deviceName)) { wpfScreen = new WpfScreen(screen); break; } } return(wpfScreen); }