Проверка, находиться ли компьютер в полноэкранном режиме - C#
Формулировка задачи:
Здравствуйте, подскажите, как реализовать функцию, которая бы возвращала значение, находиться ли компьютер в FULL SCREEN режиме на данный момент или нет?
Решение задачи: «Проверка, находиться ли компьютер в полноэкранном режиме»
textual
Листинг программы
- class FullSceen
- {
- [StructLayout(LayoutKind.Sequential)]
- public struct RECT
- {
- public int Left;
- public int Top;
- public int Right;
- public int Bottom;
- }
- [DllImport("user32.dll")]
- private static extern IntPtr GetForegroundWindow();
- [DllImport("user32.dll")]
- private static extern IntPtr GetDesktopWindow();
- [DllImport("user32.dll")]
- private static extern IntPtr GetShellWindow();
- [DllImport("user32.dll", SetLastError = true)]
- private static extern int GetWindowRect(IntPtr hwnd, out RECT rc);
- private IntPtr desktopHandle; //Window handle for the desktop
- private IntPtr shellHandle; //Window handle for the shell
- //Get the handles for the desktop and shell now.
- public bool isfull()
- {
- desktopHandle = GetDesktopWindow();
- shellHandle = GetShellWindow();
- bool runningFullScreen = false;
- RECT appBounds;
- Rectangle screenBounds;
- IntPtr hWnd;
- //get the dimensions of the active window
- hWnd = GetForegroundWindow();
- if (hWnd != null && !hWnd.Equals(IntPtr.Zero))
- {
- //Check we haven't picked up the desktop or the shell
- if (!(hWnd.Equals(desktopHandle) || hWnd.Equals(shellHandle)))
- {
- GetWindowRect(hWnd, out appBounds);
- //determine if window is fullscreen
- screenBounds = Screen.FromHandle(hWnd).Bounds;
- if ((appBounds.Bottom - appBounds.Top) == screenBounds.Height && (appBounds.Right - appBounds.Left) == screenBounds.Width)
- {
- runningFullScreen = true;
- }
- }
- }
- return (runningFullScreen);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д