Gibt es die Möglichkeit über die Konsole folgende Einstellung auszulesen und zu ändern.
"Monitor Anzeige -> Anzeige und Skalierung ->Ausrichtung"
Das sollte mit der WinAPI-Funktion GetDisplayAutoRotationPreferences (mit dem Enum ORIENTATION_PREFERENCE) funktionieren.
Für C# per P/Invoke in etwa so:
public enum ORIENTATION_PREFERENCE
{
NONE,
LANDSCAPE,
PORTRAIT,
LANDSCAPE_FLIPPED,
PORTRAIT_FLIPPED,
}
public partial class NativeMethods
{
/// Return Type: BOOL->int
///pOrientation: ORIENTATION_PREFERENCE*
[System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", EntryPoint="GetDisplayAutoRotationPreferences")]
[return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern bool GetDisplayAutoRotationPreferences(ref ORIENTATION_PREFERENCE pOrientation);
}
(generiert mit "PInvoke Interop Assistant" s. mein Beitrag in Wie kann ich aus einer gescannten Datei das Gerät auslesen/ändern, das diese Datei gescannt hat?).
Edit: Überlesen, du möchtest ja auch (global) ändern, d.h. das wird etwas komplizierter: Changing Display Settings Programmatically (letzter Abschnitt "Changing the Screen Orientation", aber basierend auf den vorherigen).