Pergunta

Existe uma maneira de alterar programaticamente a resolução da tela ou ativar/desativar vários monitores no Windows XP? Por exemplo, para mudar de 1024x768 com um monitor para 1280x104 em dois monitores? Eu estaria mais interessado em uma função Win32 para fazer isso, mas qualquer coisa que possa estar ligada a um atalho do Windows seria suficiente.

Foi útil?

Solução

Você pode usar EnumdisplayDevices Para descobrir quais exibições você tem disponível e EnumdisplaySettings Para obter uma lista de resoluções disponíveis para seus monitores. Usar Alterado em exibição Para definir a resolução de que você precisa.

Outras dicas

Sim, mas não faz parte do .NET. Você precisará usar, invocar ou escrever um invólucro para acessar a API Win32.

Ver Alterado em exibição e função relacionada.

Aqui Você pode encontrar um exemplo básico.

Você pode facilmente escrever isso com http://www.autohotkey.com

Aqui está um script para trocar entre um monitor e dois monitores com Windows+1 e Windows+2

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#1::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up} ; Select "Show desktop only on 1"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return
#2::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up}
Send {Up} ; Select "Extend these displays"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return

Leia o link fornecido é fácil.

Basta baixar a dll o bem ir ..

Mytactics.blogspot.in

Screen Srn=Screen.PrimaryScreen;

int tempWidth=Srn.Bounds.Width;
int tempHeight=Srn.Bounds.Height;
Console.WriteLine("Current Screen width is {0} and height is {1}.",
                   tempWidth,
                   tempHeight);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top