Массив разрешений экрана, которые поддерживаются на использующейся машине - C#
Формулировка задачи:
Здраствуйте. В c# очень мало понимаю, как и в ООП в общем-то. Меня интересует вопрос, как я могу получить список разрешений экрана, которые поддержуются на использующейся машине. Заранее очень благодарен.
Решение задачи: «Массив разрешений экрана, которые поддерживаются на использующейся машине»
textual
Листинг программы
- using System;
- using System.Linq;
- using System.Runtime.InteropServices;
- //using System.Windows.Forms;
- namespace ListResolutions
- {
- class Program
- {
- [DllImport("user32.dll")]
- public static extern bool EnumDisplaySettings(
- string deviceName, int modeNum, ref DEVMODE devMode);
- const int ENUM_CURRENT_SETTINGS = -1;
- const int ENUM_REGISTRY_SETTINGS = -2;
- [StructLayout(LayoutKind.Sequential)]
- public struct DEVMODE
- {
- private const int CCHDEVICENAME = 0x20;
- private const int CCHFORMNAME = 0x20;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
- public string dmDeviceName;
- public short dmSpecVersion;
- public short dmDriverVersion;
- public short dmSize;
- public short dmDriverExtra;
- public int dmFields;
- public int dmPositionX;
- public int dmPositionY;
- public int dmDisplayOrientation;
- public int dmDisplayFixedOutput;
- public short dmColor;
- public short dmDuplex;
- public short dmYResolution;
- public short dmTTOption;
- public short dmCollate;
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
- public string dmFormName;
- public short dmLogPixels;
- public int dmBitsPerPel;
- public int dmPelsWidth;
- public int dmPelsHeight;
- public int dmDisplayFlags;
- public int dmDisplayFrequency;
- public int dmICMMethod;
- public int dmICMIntent;
- public int dmMediaType;
- public int dmDitherType;
- public int dmReserved1;
- public int dmReserved2;
- public int dmPanningWidth;
- public int dmPanningHeight;
- }
- static void Main(string[] args)
- {
- DEVMODE vDevMode = new DEVMODE();
- int i = 0;
- while (EnumDisplaySettings(null, i, ref vDevMode))
- {
- Console.WriteLine("Width:{0} Height:{1} Color:{2} Frequency:{3}",
- vDevMode.dmPelsWidth,
- vDevMode.dmPelsHeight,
- 1 << vDevMode.dmBitsPerPel, vDevMode.dmDisplayFrequency
- );
- i++;
- }
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д