.NET 2.x Как получить список разрешений экрана? - C#

Узнай цену своей работы

Формулировка задачи:

Как узнать список разрешений, которые поддерживает монитор? Типа как здесь.

Решение задачи: «.NET 2.x Как получить список разрешений экрана?»

textual
Листинг программы
  1. using System;
  2.  using System.Linq;
  3.  using System.Runtime.InteropServices;
  4.  using System.Windows.Forms;
  5.  namespace ListResolutions
  6. {     class Program
  7.     {  
  8.        [DllImport("user32.dll")]
  9.          public static extern bool EnumDisplaySettings(               string deviceName, int modeNum, ref DEVMODE devMode);  
  10.       const int ENUM_CURRENT_SETTINGS = -1;
  11.         const int ENUM_REGISTRY_SETTINGS = -2;
  12.         [StructLayout(LayoutKind.Sequential)]  
  13.        public struct DEVMODE         {             private const int CCHDEVICENAME = 0x20;             private const int CCHFORMNAME = 0x20;             [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]      
  14.  
  15.        public string dmDeviceName;  
  16.           public short dmSpecVersion;    
  17.          public short dmDriverVersion;
  18.             public short dmSize;    
  19.         public short dmDriverExtra;             public int dmFields;             public int dmPositionX;             public int dmPositionY;             public ScreenOrientation 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++;                 }         }     } }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы