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.
Legt die prozessstandardbasierte DPI-Bewusstseinsstufe fest. Dies entspricht dem Aufrufen von SetProcessDpiAwarenessContext mit dem entsprechenden DPI_AWARENESS_CONTEXT-Wert .
Hinweis
Es wird empfohlen, die Prozessstandard-DPI-Sensibilisierung über das Anwendungsmanifest und nicht über einen API-Aufruf festzulegen. Weitere Informationen finden Sie unter Festlegen der standardmäßigen DPI-Erkennung für einen Prozess . Das Festlegen der prozessstandardbasierten DPI-Sensibilisierung per API-Aufruf kann zu unerwartetem Anwendungsverhalten führen.
Syntax
HRESULT SetProcessDpiAwareness(
[in] PROCESS_DPI_AWARENESS value
);
Parameter
[in] value
Der festzulegende DPI-Bewusstseinswert. Mögliche Werte stammen aus der PROCESS_DPI_AWARENESS-Enumeration .
Rückgabewert
Diese Funktion gibt einen der folgenden Werte zurück.
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
Die DPI-Wahrnehmung für die App wurde erfolgreich festgelegt. |
|
Der übergebene Wert ist ungültig. |
|
Die DPI-Wahrnehmung ist bereits festgelegt, entweder durch aufrufen dieser API zuvor oder über das Anwendungsmanifest (.exe). |
Hinweise
Frühere Versionen von Windows hatten nur einen DPI-Bewusstseinswert für die gesamte Anwendung. Für diese Anwendungen bestand die Empfehlung darin, den DPI-Sensibilisierungswert im Manifest festzulegen, wie in PROCESS_DPI_AWARENESS beschrieben. Gemäß dieser Empfehlung sollten Sie SetProcessDpiAwareness nicht verwenden, um die DPI-Erkennung zu aktualisieren. Tatsächlich schlagen zukünftige Aufrufe dieser API fehl, nachdem die DPI-Erkennung einmal festgelegt wurde. Da die DPI-Wahrnehmung nun an einen Thread und nicht an eine Anwendung gebunden ist, können Sie diese Methode verwenden, um die DPI-Wahrnehmung zu aktualisieren. Erwägen Sie jedoch stattdessen die Verwendung von SetThreadDpiAwarenessContext .
Für ältere Anwendungen wird dringend empfohlen, SetProcessDpiAwareness nicht zu verwenden, um die DPI-Wahrnehmung für Ihre Anwendung festzulegen. Stattdessen sollten Sie die DPI-Bewusstseinserkennung für Ihre Anwendung im Anwendungsmanifest deklarieren. Weitere Informationen zu den DPI-Bewusstseinswerten und deren Festlegung im Manifest finden Sie unter PROCESS_DPI_AWARENESS .
Wenn die DPI-Bewusstseinsstufe nicht festgelegt ist, ist der Standardwert PROCESS_DPI_UNAWARE.
Anforderungen
| Anforderung | Wert |
|---|---|
| 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
Festlegen der standardmäßigen DPI-Erkennung für einen Prozess