Несколько мониторов и ручек

Пытаясь запустить цикл for через физические мониторы, но дескрипторы меня очень смущают, у меня есть псевдокод, который работает по следующим направлениям:

int tempCounter=0
for(counter = number of monitors;counter > 0;counter--){

RECT tempRECT;
HDC tempHDC;

Get resolution of DC handle (counter) -> tempRECT;
arrayList[tempCounter] = tempRECT;
Get virtual work area of DC handle (counter) -> tempRECT;
arrayList[tempCounter++] = tempRECT;
tempCounter++;
}

GetSystemMetrics (80) для подсчета мониторов, достаточно ли это надежно для использования или каких-либо исключений может не получиться?

Я знаю, что там немногое, но просмотр MSDN просто заставил меня ходить по кругу, и я не очень компетентен в программировании.

-1

Решение

Это может быть так просто, как это:

#include <Windows.h>
#include <stdio.h>

BOOL CALLBACK MonitorEnumProc(
HMONITOR hMonitor,
HDC hdcMonitor,
LPRECT lprcMonitor,
LPARAM dwData
)
{
printf("%dx%d\n", lprcMonitor->right, lprcMonitor->bottom);
}

int main(int argc, char*argv[]) {

EnumDisplayMonitors(NULL, NULL, MonitorEnumProc, 0);
}
2

Другие решения


По вопросам рекламы [email protected]