多個監視系統計量
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 結構。 如果 pvParamNULL,則會修改主要監視器的工作區域。 使用 SPI_GETWORKAREA一律會傳回主要監視器的工作區域。 若要取得主要監視器以外的監視器工作區域,請呼叫 GetMonitorInfo。