본문 바로가기

Application Dev./C++/MFC

모니터 해상도 구하기

1. GetDesktopWindow(), GetWindowRect()
- Desktop도 하나의 윈도우이므로, Desktop의 윈도우 핸들을 얻어 창크기를 구하는 방식

CRect rcDesktop;
::GetWindowRect(GetDesktopWindow()->m_hWnd, &rcDesktop);

int width = rcDesktop.right - rcDesktop.left;
int height = rcDesktop.bottom - rcDesktop.top;




2. GetSystemMetrics()

- 깔끔하고 간단함

int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN);

3. GetDeviceCaps()
- HDC를 어떻게 구하냐에 따라서 듀얼 모니터 사용시 각각의 모니터에서 해상도를 구해올 수 있다는게 장점

HDC hDC = GetDC();
int width = GetDeviceCaps(hDC, HORZRES);
int height = GetDeviceCaps(hDC, VERTRES);