GetDpiForMonitor-Funktion (shellscalingapi.h)
Fragt die Dpi-Werte (Dots per Inch) einer Anzeige ab.
Syntax
HRESULT GetDpiForMonitor(
[in] HMONITOR hmonitor,
[in] MONITOR_DPI_TYPE dpiType,
[out] UINT *dpiX,
[out] UINT *dpiY
);
Parameter
[in] hmonitor
Handle des abgefragten Monitors.
[in] dpiType
Der Typ des abgefragten DPI. Mögliche Werte stammen aus der MONITOR_DPI_TYPE-Enumeration .
[out] dpiX
Der Wert des DPI entlang der X-Achse. Dieser Wert bezieht sich immer auf den horizontalen Rand, auch wenn der Bildschirm gedreht wird.
[out] dpiY
Der Wert des DPI-Werts entlang der Y-Achse. Dieser Wert bezieht sich immer auf den vertikalen Rand, auch wenn der Bildschirm gedreht wird.
Rückgabewert
Diese Funktion gibt einen der folgenden Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Funktion gibt erfolgreich die X- und Y-DPI-Werte für den angegebenen Monitor zurück. |
|
Das übergebene Handle, der DPI-Typ oder die Zeiger sind ungültig. |
Hinweise
Diese API ist nicht DPI-fähig und sollte nicht verwendet werden, wenn der aufrufende Thread pro Monitor DPI-fähig ist. Die DPI-fähige Version dieser API finden Sie unter GetDpiForWindow.
Wenn Sie GetDpiForMonitor aufrufen, erhalten Sie je nach DPI-Erkennung der aufrufenden Anwendung unterschiedliche DPI-Werte. DPI-Erkennung ist eine Eigenschaft auf Anwendungsebene, die normalerweise im Anwendungsmanifest definiert ist. Weitere Informationen zu DPI-Erkennungswerten finden Sie unter PROCESS_DPI_AWARENESS. In der folgenden Tabelle wird angegeben, wie sich die Ergebnisse je nach PROCESS_DPI_AWARENESS Wert Ihrer Anwendung unterscheiden.
PROCESS_DPI_UNAWARE | 96, da die App keine anderen Skalierungsfaktoren bekannt ist. |
PROCESS_SYSTEM_DPI_AWARE | Ein Wert, der auf die System-DPI festgelegt ist, da die App davon ausgeht, dass alle Anwendungen den System-DPI verwenden. |
PROCESS_PER_MONITOR_DPI_AWARE | Der tatsächliche DPI-Wert, der vom Benutzer für diese Anzeige festgelegt wurde. |
Die Werte von *dpiX und *dpiY sind identisch. Sie müssen nur einen der Werte aufzeichnen, um den DPI-Wert zu bestimmen und entsprechend zu reagieren.
Wenn MONITOR_DPI_TYPEMDT_ANGULAR_DPI oder MDT_RAW_DPI ist, enthält der zurückgegebene DPI-Wert keine Änderungen, die der Benutzer mithilfe des Schiebereglersteuerelements für die Desktopskalierung in Systemsteuerung an der DPI vorgenommen hat.
Weitere Informationen zu DPI-Einstellungen in Systemsteuerung finden Sie im Whitepaper Schreiben DPI-Aware Desktopanwendungen in Windows 8.1 Preview.
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 |