Função GetDpiForMonitor (shellscalingapi.h)
Consulta os pontos por polegada (dpi) de uma exibição.
Sintaxe
HRESULT GetDpiForMonitor(
[in] HMONITOR hmonitor,
[in] MONITOR_DPI_TYPE dpiType,
[out] UINT *dpiX,
[out] UINT *dpiY
);
Parâmetros
[in] hmonitor
Identificador do monitor que está sendo consultado.
[in] dpiType
O tipo de DPI que está sendo consultado. Os valores possíveis são da enumeração MONITOR_DPI_TYPE .
[out] dpiX
O valor do DPI ao longo do eixo X. Esse valor sempre se refere à borda horizontal, mesmo quando a tela é girada.
[out] dpiY
O valor do DPI ao longo do eixo Y. Esse valor sempre se refere à borda vertical, mesmo quando a tela é girada.
Valor retornado
Essa função retorna um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
A função retorna com êxito os valores de DPI X e Y para o monitor especificado. |
|
O identificador, o tipo de DPI ou os ponteiros passados não são válidos. |
Comentários
Essa API não tem reconhecimento de DPI e não deve ser usada se o thread de chamada estiver ciente da DPI por monitor. Para obter a versão com reconhecimento de DPI dessa API, consulte GetDpiForWindow.
Ao chamar GetDpiForMonitor, você receberá valores de DPI diferentes dependendo da conscientização da DPI sobre o aplicativo de chamada. O reconhecimento de DPI é uma propriedade no nível do aplicativo geralmente definida no manifesto do aplicativo. Para obter mais informações sobre valores de reconhecimento de DPI, consulte PROCESS_DPI_AWARENESS. A tabela a seguir indica como os resultados serão diferentes com base no valor PROCESS_DPI_AWARENESS do aplicativo.
PROCESS_DPI_UNAWARE | 96 porque o aplicativo não tem conhecimento de outros fatores de escala. |
PROCESS_SYSTEM_DPI_AWARE | Um valor definido para o DPI do sistema porque o aplicativo pressupõe que todos os aplicativos usem o DPI do sistema. |
PROCESS_PER_MONITOR_DPI_AWARE | O valor de DPI real definido pelo usuário para essa exibição. |
Os valores de *dpiX e *dpiY são idênticos. Você só precisa registrar um dos valores para determinar o DPI e responder adequadamente.
Quando MONITOR_DPI_TYPE é MDT_ANGULAR_DPI ou MDT_RAW_DPI, o valor de DPI retornado não inclui nenhuma alteração feita pelo usuário no DPI usando o controle deslizante de substituição de escala da área de trabalho em Painel de Controle.
Para obter mais informações sobre as configurações de DPI no Painel de Controle, consulte o white paper Escrevendo aplicativos da área de trabalho DPI-Aware no Windows 8.1 Preview.
Requisitos
Cliente mínimo com suporte | Windows 8.1 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shellscalingapi.h |
Biblioteca | Shcore.lib |
DLL | Shcore.dll |