Моя задача состоит в том, чтобы подсчитать количество текущих мониторов (экранов), подключенных к компьютеру, на котором мой пользовательский код режима ниже работает:выпуск перечисляя мониторов в Windows,
int nCnt = 0;
if(!EnumDisplayMonitors(NULL, NULL, countMonitorsProc, (LPARAM)&nCnt))
{
//Error
}
BOOL countMonitorsProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData)
{
int* pCnt = (int*)dwData;
(*pCnt)++;
return TRUE;
}
Он работает в большинстве случаев, но на некоторые системы EnumDisplayMonitors
возвращает FALSE. Пример такой системы: мой ноутбук, где я подключил внешний монитор и закрыл крышку.
Мне любопытно, я использую правильный подход для подсчета прилагаемых мониторов?
Что 'GetLastError()' вернуть? – alk
Пожалуйста, не помещайте ненужные теги в заголовок - вот для чего предназначен раздел тегов. Спасибо :) – slugster
@alk: Согласно MSDN, 'GetLastError' не используется для этого API. – c00000fd