Найдите количество и разрешение для всех мониторов

StackOverflow https://stackoverflow.com/questions/1538602

Вопрос

Как бы опросить Windows, чтобы узнать, какие мониторы подключены и с каким разрешением они работают?

Это было полезно?

Решение

В C#: Screen Класс Представляет устройство отображения или несколько устройств отображения в одной системе.Вы хотите, чтобы Bounds атрибут.

foreach(var screen in Screen.AllScreens)
{
    // For each screen, add the screen properties to a list box.
    listBox1.Items.Add("Device Name: " + screen.DeviceName);
    listBox1.Items.Add("Bounds: " + screen.Bounds.ToString());
    listBox1.Items.Add("Type: " + screen.GetType().ToString());
    listBox1.Items.Add("Working Area: " + screen.WorkingArea.ToString());
    listBox1.Items.Add("Primary Screen: " + screen.Primary.ToString());
}

Другие советы

Используйте Класс экрана.

Вы можете видеть все мониторы в Screen.AllScreens массив, и проверьте разрешение и положение каждого из них с помощью Bounds собственность.

Обратите внимание, что некоторые видеокарты объединяют два монитора в один очень широкий экран, так что Windows думает, что существует только один монитор.Если вы хотите, вы могли бы проверить, превышает ли ширина экрана более чем в два раза его высоту;если это так, то это, вероятно, горизонтальный пролет, и вы можете рассматривать его как два равных экрана.Однако это сложнее, и вам не нужно этого делать.Вертикальные пролеты также поддерживаются, но встречаются реже.

http://msdn.microsoft.com/en-us/magazine/cc301462.aspx

GetSystemMetrics - это удобная функция, которую вы можете использовать для получения всевозможных глобальных измерений, таких как размер значка или высота заголовка окна.В Windows 2000 появились новые параметры, такие как SM_CXVIRTUALSCREEN и SM_CYVIRTUALSCREEN, позволяющие получить виртуальный размер экрана для систем с несколькими мониторами.Новичкам Windows — и профессионалам тоже — следует ознакомиться с документацией по GetSystemMetrics, чтобы увидеть все различные системные показатели (dimensions), которые вы можете получить.Смотрите последнюю версию Platform SDK по адресу http://msdn.microsoft.com/library/en-us/sysinfo/sysinfo_8fjn.asp.GetSystemMetrics - это удобная функция, которую вам часто приходится использовать, и новые материалы появляются с каждой версией Windows.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top