Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 ChangeDisplaySettingsA(
[in] DEVMODEA *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 privado após 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 valores a seguir 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 mude 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á retornado. 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á retornado.
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