Как знать, использует ли пользователь несколько мониторов

Я пытаюсь выяснить способ знать, использует ли пользователь несколько мониторов.

Я хотел бы знать, как сделать это в собственном C++ (использующий API Win32) и с управляемым кодом (использующий Платформу.NET).

Заранее спасибо

10
задан Raphael 8 February 2010 в 12:21
поделиться

4 ответа

Я могу дать вам C # .NET:

if (Screen.AllScreens.Length > 1)
{
    // Multiple monitors
}

Изменить: Поиск в Google подвернулось следующее. В нем упоминается 98 / ME, поэтому он может быть неактуальным, но может указать вам правильное направление:

В Windows 98 появились новые API-интерфейсы для работы с несколькими мониторами. В примере класса мониторов используются API-интерфейсы GetMonitorInfo, MonitorFromWindow и MonitorFromRect.

API GetSystemMetrics содержит несколько новых констант (см. Ниже), которые можно использовать для определения показателей системы с несколькими мониторами. API GetSystemMetrics возвращает информацию о среде Windows. Этот API-интерфейс можно использовать для определения количества мониторов в системе, настроены ли они на один и тот же формат отображения и размер виртуального рабочего стола.

http://support.microsoft.com/kb/194578

12
ответ дан 3 December 2019 в 16:09
поделиться

GetSystemMetrics с SM_CMONITORS и вперед ...

6
ответ дан 3 December 2019 в 16:09
поделиться

В .NET это так же просто, как использовать свойство Screen.AllScreens .Length . Однако не слишком уверен в C ++.

6
ответ дан 3 December 2019 в 16:09
поделиться

Просто чтобы задокументировать здесь решение C / C ++:

int iMonitors = GetSystemMetrics(SM_MONITORS); 
2
ответ дан 3 December 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: