GetScaleFactorForMonitor-Funktion (shellscalingapi.h)

Ruft den Skalierungsfaktor eines bestimmten Monitors ab. Diese Funktion ersetzt GetScaleFactorForDevice.

Syntax

HRESULT GetScaleFactorForMonitor(
  [in]  HMONITOR            hMon,
  [out] DEVICE_SCALE_FACTOR *pScale
);

Parameter

[in] hMon

Das Handle des Monitors.

[out] pScale

Wenn diese Funktion erfolgreich zurückgegeben wird, zeigt dieser Wert auf einen der DEVICE_SCALE_FACTOR Werte, die den Skalierungsfaktor des angegebenen Monitors angeben.

Wenn der Funktionsaufruf fehlschlägt, verweist dieser Wert auf einen gültigen Skalierungsfaktor, sodass Apps mit Ressourcen in falscher Größe fortfahren können.

Rückgabewert

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Ihr Code muss zusätzlich zum über RegisterScaleChangeEvent registrierten Skalierungsänderungsereignis die WM_WINDOWPOSCHANGED Meldung verarbeiten, da das App-Fenster zwischen Monitoren verschoben werden kann. Rufen Sie als Reaktion auf die WM_WINDOWPOSCHANGED Meldung MonitorFromWindow auf, gefolgt von GetScaleFactorForMonitor , um den Skalierungsfaktor des Monitors abzurufen, auf dem sich das App-Fenster befindet. Ihr Code kann dann auf dpi-Änderungen (Dots per Inch) reagieren, indem Ressourcen neu geladen und das Layout geändert wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8.1 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shellscalingapi.h
Bibliothek Shcore.lib
DLL Shcore.dll

Weitere Informationen

RegisterScaleChangeEvent

UnregisterScaleChangeEvent