여러 모니터 시스템 메트릭
GetSystemMetrics 함수는 전체 데스크톱을 참조하는 SM_CXMAXTRACK 및 SM_CYMAXTRACK 제외하고 주 모니터에 대한 값을 반환합니다. SM_CXCURSOR, SM_CYCURSOR, SM_CXICON, SMCYICON 등 모든 디바이스 드라이버에 대해 동일한 메트릭이 있습니다. LOGPIXELSX, LOGPIXELSY, DESTOPHORZRES, DESKTOPVERTRES 등 모든 모니터의 표시 기능은 동일합니다.
GetSystemMetrics 다중 모니터 시스템만 참조하는 상수도 있습니다. SM_XVIRTUALSCREEN 및 SM_YVIRTUALSCREEN 가상 화면의 왼쪽 위 모서리를 식별합니다. SM_CXVIRTUALSCREEN 및 SM_CYVIRTUALSCREEN 가상 화면의 세로 및 가로 측정이며, SM_CMONITORS 바탕 화면에 연결된 모니터의 수이며, SM_SAMEDISPLAYFORMAT 바탕 화면의 모든 모니터에 동일한 색 형식이 있는지 여부를 나타냅니다.
단일 디스플레이 모니터 또는 데스크톱의 모든 디스플레이 모니터에 대한 정보를 얻으려면 EnumDisplayMonitors를 사용합니다. GetWindowRect 또는 GetClientRect 반환된 바탕 화면 창의 사각형은 기존 애플리케이션과의 호환성을 위해 항상 기본 모니터의 사각형과 같습니다. 따라서 다음의 결과
GetWindowRect(GetDesktopWindow(), &rc);
은 다음과 같습니다.
rc.left = 0;
rc.top = 0;
rc.right = GetSystemMetrics (SM_CXSCREEN);
rc.bottom = GetSystemMetrics (SM_CYSCREEN);
모니터의 작업 영역을 변경하려면 SPI_SETWORKAREA pvParam 사용하여 SystemParametersInfo 호출하여 원하는 모니터에 있는 RECT 구조를 가리킵니다. pvParam NULL 경우 주 모니터의 작업 영역이 수정됩니다. SPI_GETWORKAREA 사용하면 항상 기본 모니터의 작업 영역이 반환됩니다. 기본 모니터가 아닌 모니터의 작업 영역을 얻으려면 GetMonitorInfo호출합니다.