Массив разрешений экрана, которые поддерживаются на использующейся машине - C#

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

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

Здраствуйте. В c# очень мало понимаю, как и в ООП в общем-то. Меня интересует вопрос, как я могу получить список разрешений экрана, которые поддержуются на использующейся машине. Заранее очень благодарен.

Решение задачи: «Массив разрешений экрана, которые поддерживаются на использующейся машине»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Runtime.InteropServices;
  4. //using System.Windows.Forms;
  5.  
  6. namespace ListResolutions
  7. {
  8.  
  9.     class Program
  10.     {
  11.         [DllImport("user32.dll")]
  12.         public static extern bool EnumDisplaySettings(
  13.               string deviceName, int modeNum, ref DEVMODE devMode);
  14.         const int ENUM_CURRENT_SETTINGS = -1;
  15.  
  16.         const int ENUM_REGISTRY_SETTINGS = -2;
  17.  
  18.         [StructLayout(LayoutKind.Sequential)]
  19.         public struct DEVMODE
  20.         {
  21.  
  22.             private const int CCHDEVICENAME = 0x20;
  23.             private const int CCHFORMNAME = 0x20;
  24.             [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
  25.             public string dmDeviceName;
  26.             public short dmSpecVersion;
  27.             public short dmDriverVersion;
  28.             public short dmSize;
  29.             public short dmDriverExtra;
  30.             public int dmFields;
  31.             public int dmPositionX;
  32.             public int dmPositionY;
  33.             public int dmDisplayOrientation;
  34.             public int dmDisplayFixedOutput;
  35.             public short dmColor;
  36.             public short dmDuplex;
  37.             public short dmYResolution;
  38.             public short dmTTOption;
  39.             public short dmCollate;
  40.             [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
  41.             public string dmFormName;
  42.             public short dmLogPixels;
  43.             public int dmBitsPerPel;
  44.             public int dmPelsWidth;
  45.             public int dmPelsHeight;
  46.             public int dmDisplayFlags;
  47.             public int dmDisplayFrequency;
  48.             public int dmICMMethod;
  49.             public int dmICMIntent;
  50.             public int dmMediaType;
  51.             public int dmDitherType;
  52.             public int dmReserved1;
  53.             public int dmReserved2;
  54.             public int dmPanningWidth;
  55.             public int dmPanningHeight;
  56.  
  57.         }
  58.  
  59.         static void Main(string[] args)
  60.         {
  61.             DEVMODE vDevMode = new DEVMODE();
  62.             int i = 0;
  63.             while (EnumDisplaySettings(null, i, ref vDevMode))
  64.             {
  65.                 Console.WriteLine("Width:{0} Height:{1} Color:{2} Frequency:{3}",
  66.                                         vDevMode.dmPelsWidth,
  67.                                         vDevMode.dmPelsHeight,
  68.                                         1 << vDevMode.dmBitsPerPel, vDevMode.dmDisplayFrequency
  69.                                     );
  70.                 i++;
  71.             }
  72.             Console.ReadLine();
  73.         }
  74.  
  75.     }
  76.  
  77. }

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


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

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

12   голосов , оценка 3.75 из 5

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

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

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