Найдите количество и разрешение для всех мониторов
-
20-09-2019 - |
Вопрос
Как бы опросить 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.