Função SetProcessDpiAwarenessContext (winuser.h)
Define o processo atual como um contexto de reconhecimento de pontos por polegada (dpi) especificado. Os contextos de reconhecimento de DPI são do valor DPI_AWARENESS_CONTEXT .
Observação
É recomendável que você defina o reconhecimento de DPI padrão do processo por meio do manifesto do aplicativo, não uma chamada à API. Consulte Configurando o reconhecimento de DPI padrão para um processo para obter mais informações. Definir o reconhecimento de DPI padrão do processo por meio da chamada à API pode levar a um comportamento inesperado do aplicativo.
Sintaxe
BOOL SetProcessDpiAwarenessContext(
[in] DPI_AWARENESS_CONTEXT value
);
Parâmetros
[in] value
Um identificador de DPI_AWARENESS_CONTEXT a ser definido.
Retornar valor
Essa função retornará TRUE se a operação tiver sido bem-sucedida e FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError.
Os possíveis erros são ERROR_INVALID_PARAMETER para uma entrada inválida e ERROR_ACCESS_DENIED se o modo de reconhecimento de API padrão para o processo já tiver sido definido (por meio de uma chamada à API anterior ou dentro do manifesto do aplicativo).
Comentários
Essa API é uma versão mais avançada da API SetProcessDpiAwareness existente anteriormente, permitindo que o padrão do processo seja definido com os valores de DPI_AWARENESS_CONTEXT mais refinados. O mais importante é que isso permite que você defina programaticamente Por Monitor v2 como o valor padrão do processo, o que não é possível com a API anterior.
Esse método define o DPI_AWARENESS_CONTEXT padrão para todos os threads em um aplicativo. Threads individuais podem ter sua conscientização de DPI alterada do padrão com o método SetThreadDpiAwarenessContext .
Você deve chamar essa API antes de chamar qualquer APIs que dependam do reconhecimento de DPI (inclusive antes de criar qualquer interface do usuário em seu processo). Depois que o reconhecimento de API for definido para um aplicativo, todas as chamadas futuras para essa API falharão. Isso é verdadeiro, independentemente de você definir o reconhecimento de DPI no manifesto ou usando essa API.
Se o nível de reconhecimento de DPI não estiver definido, o valor padrão será DPI_AWARENESS_CONTEXT_UNAWARE.
Requisitos
Cliente mínimo com suporte | Windows 10, versão 1703 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2016 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h |
Biblioteca | User32.lib |
DLL | User32.dll |