Compartir a través de


Función SetProcessDpiAwarenessContext (winuser.h)

Establece el proceso actual en un contexto de reconocimiento de puntos por pulgada (ppp) especificado. Los contextos de reconocimiento de PPP proceden del valor de DPI_AWARENESS_CONTEXT .

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

BOOL SetProcessDpiAwarenessContext(
  [in] DPI_AWARENESS_CONTEXT value
);

Parámetros

[in] value

Identificador de DPI_AWARENESS_CONTEXT que se va a establecer.

Valor devuelto

Esta función devuelve TRUE si la operación se realizó correctamente y FALSE en caso contrario. Para obtener información de error extendida, llame a GetLastError.

Los posibles errores se ERROR_INVALID_PARAMETER para una entrada no válida y ERROR_ACCESS_DENIED si ya se ha establecido el modo de reconocimiento de la API predeterminado para el proceso (a través de una llamada API anterior o dentro del manifiesto de aplicación).

Comentarios

Esta API es una versión más avanzada de la API SetProcessDpiAwareness existente, lo que permite establecer el valor predeterminado del proceso en los valores de DPI_AWARENESS_CONTEXT más específicos. Lo más importante es que esto le permite establecer mediante programación Per Monitor v2 como el valor predeterminado del proceso, que no es posible con la API anterior.

Este método establece el DPI_AWARENESS_CONTEXT predeterminado para todos los subprocesos de una aplicación. Los subprocesos individuales pueden cambiar su reconocimiento de PPP del valor predeterminado con el método SetThreadDpiAwarenessContext .

Debe llamar a esta API antes de llamar a cualquier API que dependa del reconocimiento de PPP (incluido antes de crear cualquier interfaz de usuario en el proceso). Una vez establecido el reconocimiento de la API para una aplicación, se producirá un error en las futuras llamadas a esta API. Esto se cumple independientemente de si establece el reconocimiento de PPP en el manifiesto o mediante esta API.

Si no se establece el nivel de reconocimiento de PPP, el valor predeterminado es DPI_AWARENESS_CONTEXT_UNAWARE.

Requisitos

   
Cliente mínimo compatible Windows 10, versión 1703 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h
Library User32.lib
Archivo DLL User32.dll

Consulte también

DPI_AWARENESS_CONTEXT

SetThreadDpiAwarenessContext

Establecer el reconocimiento de PPP predeterminado para un proceso