모니터 정보를 얻기 위해서 EnumDisplayMonitors(NULL, NULL, MonitorEnumProc, NULL); 함수를 호출하면
MonitorEnumProc()이 콜백함수로 호출된다.
MonitorEnumProc()함수의 형태는 아래와 같다
BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData)
{
TCHAR sInfo[256];
MONITORINFOEX mi;
mi.cbSize=sizeof(MONITORINFOEX);
GetMonitorInfo(hMonitor,&mi);
wsprintf(sInfo,"모니터 핸들 = %x, 좌표=(%d,%d)-(%d,%d) %s %s",hMonitor,
lprcMonitor->left,lprcMonitor->top,lprcMonitor->right,lprcMonitor->bottom,
(mi.dwFlags & MONITORINFOF_PRIMARY)==0 ? "보조모니퉈":"주 모니터", &mi.szDevice);
AfxMessageBox(sInfo);
return TRUE;
}
MFC에서 사용하기 위해서는
위의 콜백함수를 전역함수로 선언하고
클래스함수든 어디서든간에 EnumDisplayMonitors(NULL, NULL, MonitorEnumProc, NULL); 를 호출하면
콜백함수가 실행되어 모니터 갯수만큼 메시지 박스가 팝업한다.
클래스 안에서 사용하기 위해서는 전역 변수를 만들어서 콜백함수안에서 정보를 넣고 클래스에서 쓰는 등으로
사용하면 된다



