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 |