Найти номер и разрешение для всех мониторов - PullRequest
25 голосов
/ 08 октября 2009

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

Ответы [ 3 ]

46 голосов
/ 08 октября 2009

In 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());
}
5 голосов
/ 08 октября 2009

Использовать Класс экрана .

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

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

2 голосов
/ 08 октября 2009

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

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

...