Compartilhar via


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

Confira também

DPI_AWARENESS_CONTEXT

SetThreadDpiAwarenessContext

Definir o reconhecimento de DPI padrão para um processo