Función SetProcessDpiAwareness (shellscalingapi.h)
Establece el nivel de reconocimiento de PPP predeterminado del proceso. Esto equivale a llamar a SetProcessDpiAwarenessContext con el valor de DPI_AWARENESS_CONTEXT correspondiente.
Nota
Se recomienda establecer el reconocimiento de PPP predeterminado del proceso a través del manifiesto de aplicación, no una llamada API. Consulte Establecimiento del reconocimiento de PPP predeterminado para un proceso para obtener más información. Establecer el reconocimiento de PPP predeterminado del proceso a través de la llamada API puede dar lugar a un comportamiento inesperado de la aplicación.
Sintaxis
HRESULT SetProcessDpiAwareness(
[in] PROCESS_DPI_AWARENESS value
);
Parámetros
[in] value
Valor de reconocimiento de PPP que se va a establecer. Los valores posibles proceden de la enumeración PROCESS_DPI_AWARENESS .
Valor devuelto
Esta función devuelve uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
El reconocimiento de PPP de la aplicación se estableció correctamente. |
|
El valor pasado no es válido. |
|
El reconocimiento de PPP ya está establecido, ya sea llamando a esta API anteriormente o a través del manifiesto de la aplicación (.exe). |
Comentarios
Las versiones anteriores de Windows solo tenían un valor de reconocimiento de PPP para toda la aplicación. Para esas aplicaciones, la recomendación era establecer el valor de reconocimiento de PPP en el manifiesto, tal y como se describe en PROCESS_DPI_AWARENESS. En esa recomendación, no se suponía que usara SetProcessDpiAwareness para actualizar el reconocimiento de PPP. De hecho, las llamadas futuras a esta API producirían un error después de establecer el reconocimiento de PPP una vez. Ahora que el reconocimiento de PPP está vinculado a un subproceso en lugar de a una aplicación, puede usar este método para actualizar el reconocimiento de PPP. Sin embargo, considere la posibilidad de usar SetThreadDpiAwarenessContext en su lugar.
En el caso de las aplicaciones anteriores, se recomienda encarecidamente no usar SetProcessDpiAwareness para establecer el reconocimiento de PPP de la aplicación. En su lugar, debe declarar el reconocimiento de PPP para la aplicación en el manifiesto de aplicación. Consulte PROCESS_DPI_AWARENESS para obtener más información sobre los valores de reconocimiento de PPP y cómo establecerlos en el manifiesto.
Si no se establece el nivel de reconocimiento de PPP, el valor predeterminado es PROCESS_DPI_UNAWARE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8.1 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shellscalingapi.h |
Library | Shcore.lib |
Archivo DLL | Shcore.dll |
Consulte también
Establecer el reconocimiento de PPP predeterminado para un proceso