Função ChangeDisplaySettingsW (winuser.h)
A função ChangeDisplaySettings altera as configurações do dispositivo de exibição padrão para o modo gráfico especificado.
Para alterar as configurações de um dispositivo de exibição especificado, use a função ChangeDisplaySettingsEx .
Sintaxe
LONG ChangeDisplaySettingsW(
[in] DEVMODEW *lpDevMode,
[in] DWORD dwFlags
);
Parâmetros
[in] lpDevMode
Um ponteiro para uma estrutura DEVMODE que descreve o novo modo gráfico. Se lpDevMode for NULL, todos os valores atualmente no Registro serão usados para a configuração de exibição. Passar NULL para o parâmetro lpDevMode e 0 para o parâmetro dwFlags é a maneira mais fácil de retornar ao modo padrão após uma alteração de modo dinâmico.
O membro dmSize de DEVMODE deve ser inicializado para o tamanho, em bytes, da estrutura DEVMODE . O membro dmDriverExtra de DEVMODE deve ser inicializado para indicar o número de bytes de dados de driver privados seguindo a estrutura DEVMODE . Além disso, você pode usar qualquer um ou todos os membros a seguir da estrutura DEVMODE .
Membro | Significado |
---|---|
dmBitsPerPel | Bits por Pixel |
dmPelsWidth | Largura do pixel |
dmPelsHeight | Altura do pixel |
dmDisplayFlags | Sinalizadores de modo |
dmDisplayFrequency | Frequência do modo |
dmPosition | Posição do dispositivo em uma configuração de vários monitores. |
Além de usar um ou mais dos membros DEVMODE anteriores, você também deve definir um ou mais dos seguintes valores no membro dmFields para alterar a configuração de exibição.
Valor | Significado |
---|---|
DM_BITSPERPEL | Use o valor dmBitsPerPel . |
DM_PELSWIDTH | Use o valor dmPelsWidth . |
DM_PELSHEIGHT | Use o valor dmPelsHeight . |
DM_DISPLAYFLAGS | Use o valor dmDisplayFlags . |
DM_DISPLAYFREQUENCY | Use o valor dmDisplayFrequency . |
DM_POSITION | Use o valor dmPosition . |
[in] dwFlags
Indica como o modo gráfico deve ser alterado. Esse parâmetro pode usar um dos valores a seguir.
Especificar CDS_TEST permite que um aplicativo determine quais modos gráficos são realmente válidos, sem fazer com que o sistema seja alterado para esse modo gráfico.
Se CDS_UPDATEREGISTRY for especificado e for possível alterar o modo gráfico dinamicamente, as informações serão armazenadas no registro e DISP_CHANGE_SUCCESSFUL serão retornadas. Se não for possível alterar o modo gráfico dinamicamente, as informações serão armazenadas no registro e DISP_CHANGE_RESTART serão retornadas.
Se CDS_UPDATEREGISTRY for especificado e as informações não puderem ser armazenadas no registro, o modo gráfico não será alterado e DISP_CHANGE_NOTUPDATED será retornado.
Retornar valor
A função ChangeDisplaySettings retorna um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
A alteração das configurações foi bem-sucedida. |
|
A alteração das configurações não foi bem-sucedida porque o sistema é compatível com DualView. |
|
Um conjunto inválido de sinalizadores foi passado. |
|
Não há suporte para o modo gráfico. |
|
Um parâmetro inválido foi passado. Isso pode incluir um sinalizador inválido ou uma combinação de sinalizadores. |
|
O driver de exibição falhou no modo gráfico especificado. |
|
Não é possível gravar configurações no registro. |
|
O computador deve ser reiniciado para que o modo gráfico funcione. |
Comentários
Para garantir que a estrutura DEVMODE passada para ChangeDisplaySettings seja válida e contenha apenas valores compatíveis com o driver de exibição, use o DEVMODE retornado pela função EnumDisplaySettings .
Quando o modo de exibição é alterado dinamicamente, a mensagem WM_DISPLAYCHANGE é enviada a todos os aplicativos em execução com os parâmetros de mensagem a seguir.
Parâmetros | Significado |
---|---|
wParam | Novos bits por pixel |
LOWORD(lParam) | Nova largura de pixel |
HIWORD(lParam) | Nova altura do pixel |
Virtualização de DPI
Essa API não participa da virtualização de DPI. A entrada fornecida está sempre em termos de pixels físicos e não está relacionada ao contexto de chamada.Observação
O cabeçalho winuser.h define ChangeDisplaySettings como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introduzido no Windows 10, versão 10.0.14393) |
Confira também
Funções de contexto do dispositivo