SetProcessDpiAwareness-Funktion (shellscalingapi.h)
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