Frage

Gibt es eine Möglichkeit, die Bildschirmauflösung programmatisch zu ändern oder mehrere Monitore in Windows XP zu aktivieren/zu deaktivieren? Zum Beispiel von 1024x768 mit einem Monitor auf 1280 x 104 bei zwei Monitoren? Ich würde mich am meisten an einer Win32 -Funktion interessieren, um dies zu tun, aber alles, was an eine Windows -Verknüpfung gebunden werden kann, würde ausreichen.

War es hilfreich?

Lösung

Sie können verwenden EnumDisplayDevices Um herauszufinden, welche Anzeigen Sie zur Verfügung haben und EnumDisplaySettings Um eine Liste der verfügbaren Auflösungen für Ihre Anzeigen zu erhalten. Verwenden Veränderung Um die Auflösung festzulegen, die Sie benötigen.

Andere Tipps

Ja, aber es ist nicht Teil von .NET. Sie müssen einen Wrapper verwenden, aufrufen oder schreiben, um auf die Win32 -API zuzugreifen.

Sehen Veränderung und verwandte Funktion.

Hier Sie können ein grundlegendes Beispiel finden.

Sie können dies problemlos mit skriptieren http://www.autohotkey.com

Hier ist ein Skript zum Austausch zwischen einem Monitor und zwei Monitoren mit Windows+1 und 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

Lesen Sie den angegebenen Link leicht.

Laden Sie einfach die DLL das Gute herunter.

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top