Aplicar alteração de resolução de vídeo

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

User avatar
rmichelotto
Posts: 6
Joined: 10 Dec 2020, 22:42

Aplicar alteração de resolução de vídeo

Post by rmichelotto » 15 Mar 2021, 15:04

Boa tarde.

Estou usando o W10 em uma VM e não sei porquê, além de não salvar as configurações de resolução de vídeo (toda vez que inicio preciso refazer), algumas vezes, ao longo do dia, ela acaba dando um bug e perdendo as configurações de novo.

Existe algum script que possa aplicar essas configurações sempre que eu precisar?

Detalhe: Uso 2 monitores e preciso reconfigurar ambos... :crazy:

User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Aplicar alteração de resolução de vídeo

Post by Gio » 22 Mar 2021, 09:39

Bom dia Rmichelotto.

Encontrei uma função escrita por outro usuário que você pode usar para mudar a resolução da tela.

Code: Select all

ChangeResolution(Screen_Width := 1920, Screen_Height := 1080, Color_Depth := 32)
{
	VarSetCapacity(Device_Mode,156,0)
	NumPut(156,Device_Mode,36) 
	DllCall( "EnumDisplaySettingsA", UInt,0, UInt,-1, UInt,&Device_Mode )
	NumPut(0x5c0000,Device_Mode,40) 
	NumPut(Color_Depth,Device_Mode,104)
	NumPut(Screen_Width,Device_Mode,108)
	NumPut(Screen_Height,Device_Mode,112)
	Return DllCall( "ChangeDisplaySettingsA", UInt,&Device_Mode, UInt,0 )
}
Return


Exemplo de uso: rodando o código abaixo, você pode mudar a resolução entre 1280x720 e 1366x768 apertando F2 e F3.

Code: Select all

F2::
ChangeResolution(1280, 720)
Return

F3::
ChangeResolution(1366, 768)
Return

ChangeResolution(Screen_Width := 1920, Screen_Height := 1080, Color_Depth := 32)
{
	VarSetCapacity(Device_Mode,156,0)
	NumPut(156,Device_Mode,36) 
	DllCall( "EnumDisplaySettingsA", UInt,0, UInt,-1, UInt,&Device_Mode )
	NumPut(0x5c0000,Device_Mode,40) 
	NumPut(Color_Depth,Device_Mode,104)
	NumPut(Screen_Width,Device_Mode,108)
	NumPut(Screen_Height,Device_Mode,112)
	Return DllCall( "ChangeDisplaySettingsA", UInt,&Device_Mode, UInt,0 )
}
Return

:arrow: ATENÇÃO !! Antes de usar a função, verifique quais valores são válidos para o seu monitor (as resoluções escolhidas devem estar entre as resoluções suportadas pelo monitor!)


Fonte do código: https://www.autohotkey.com/boards/viewtopic.php?f=76&t=12684&hilit=changeresolution#p65388

Post Reply

Return to “Ajuda e Suporte Geral”