2013/04/15
멀티 모니터 해상도 확인하기
멀티모니터를 사용하는 경우 각각의 모니터의 해상도와 출력 영역을 확인 하는 방법이다.
EnumDisplayMonitors 함수를 이용하는 것으로 CallBack 함수인 MyEnumDispMonitorProc 에서 각각 모니터의 정보를 처리한다.
EnumDisplayMonitors function on MSD
Original Post : http://neodreamer-dev.tistory.com/699
EnumDisplayMonitors 함수를 이용하는 것으로 CallBack 함수인 MyEnumDispMonitorProc 에서 각각 모니터의 정보를 처리한다.
void Class::Func()
{
:
vector< CRect > vrcMon;
EnumDisplayMonitors( NULL, NULL, MyEnumDispMonitorProc, (LPARAM)&vrcMon );
for ( int i = 0; i < (int)vrcMon.size(); ++i )
{
TRACE( "Monitor #%d, %dx%d - %dx%d (%dx%d) \n"
, i, vrcMon[i].left, vrcMon[i].top
, vrcMon[i].right, vrcMon[i].bottom
, vrcMon[i].Width(), vrcMon[i].Height() );
}
:
}
BOOL CALLBACK Class::MyEnumDispMonitorProc(HMONITOR hMon
, HDC hDC, LPRECT pRect, LPARAM lParam)
{
vector< CRect >* pVRcMon = (vector< CRect >*)lParam;
MONITORINFOEX mi;
mi.cbSize = sizeof(MONITORINFOEX);
GetMonitorInfo( hMon, &mi );
TRACE(
"Monitor Info (%s)(%s) \n"
" Monitor %dx%d - %dx%d (%dx%d) \n"
" Work %dx%d - %dx%d (%dx%d) \n"
, CStringA(mi.szDevice)
, (mi.dwFlags == MONITORINFOF_PRIMARY)? "Primary": ""
, mi.rcMonitor.left, mi.rcMonitor.top
, mi.rcMonitor.right, mi.rcMonitor.bottom
, abs(mi.rcMonitor.right - mi.rcMonitor.left)
, abs(mi.rcMonitor.bottom - mi.rcMonitor.top)
, mi.rcWork.left, mi.rcWork.top
, mi.rcWork.right, mi.rcWork.bottom
, abs(mi.rcWork.right - mi.rcWork.left)
, abs(mi.rcWork.bottom - mi.rcWork.top)
);
CRect rcMon = CRect( pRect );
pVRcMon->push_back( rcMon );
return TRUE;
}
Output:
Monitor Info (\.\DISPLAY1)(Primary)
Monitor 0x0 - 2560x1440 (2560x1440)
Work 0x0 - 2560x1400 (2560x1400)
Monitor Info (\.\DISPLAY2)()
Monitor 2560x416 - 3840x1440 (1280x1024)
Work 2560x416 - 3840x1440 (1280x1024)
Monitor #0, 0x0 - 2560x1440 (2560x1440)
Monitor #1, 2560x416 - 3840x1440 (1280x1024)
EnumDisplayMonitors function on MSD
Original Post : http://neodreamer-dev.tistory.com/699
Labels:
EnumDisplayMonitors
,
Multi Monitor
,
TistoryOldPost
,
멀티모니터 해상도
,
모니터 출력 영역
,
모니터 해상도
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment