多個監視系統計量
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);
若要變更監視器的工作區域,請使用指向所需監視器上的RECT結構,呼叫具有 SPI_SETWORKAREA 和pvParam的SystemParametersInfo。 如果 pvParam 為 Null,則會修改主要監視器的工作區域。 使用 SPI_GETWORKAREA一律會傳回主要監視器的工作區域。 若要取得主要監視器以外的監視器工作區域,請呼叫 GetMonitorInfo。