Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |