Как узнать, использует ли пользователь несколько мониторов
Я пытаюсь найти способ узнать, использует ли пользователь несколько мониторов.
Я хотел бы знать, как это сделать в родном С++ (с использованием Win32 API) и с управляемым кодом (с использованием .NET Framework).
Заранее спасибо
Ответ 1
Я могу дать вам С#.NET:
if (Screen.AllScreens.Length > 1)
{
// Multiple monitors
}
Изменить: Поиск в Google показал следующее. В нем упоминается 98/ME, поэтому он может быть неактуальным, но может указывать вам в правильном направлении:
В Windows 98 появились новые API-интерфейсы для обработки нескольких мониторов. API-интерфейсы, используемые в образце классов мониторов, - это GetMonitorInfo, MonitorFromWindow и MonitorFromRect.
В API GetSystemMetrics есть несколько новых констант (см. ниже), которые можно использовать для определения показателей системы с несколькими мониторами. API GetSystemMetrics возвращает информацию о среде Windows. Этот API может использоваться для определения количества мониторов в системе, независимо от того, установлены ли они в одном и том же формате отображения и размер виртуального рабочего стола.