Primären Monitor (Hauptanzeige) einstellen und überprüfen


Aus Deskmodder Wiki
Version vom 29. April 2026, 09:33 Uhr von Moinmoin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kategorie:Windows 11 Hat man mehrere Monitore, dann hat man die Möglichkeit (auch) unter Windows 11 den primären und den sekundären Monitor einstellen. Auf dem primären (Hauptanzeige) wird immer die Taskleiste angezeigt, die dann auf die anderen Monitore erweitert werden kann. '''Dieses Tutorial ist für die Windows 11 22H2 und höher geeignet.''' *Windows 11 Welche Version ist installiert {{Absatz}} {{Wichtig11}} Datei:Windows 11 Monitor…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


Hat man mehrere Monitore, dann hat man die Möglichkeit (auch) unter Windows 11 den primären und den sekundären Monitor einstellen. Auf dem primären (Hauptanzeige) wird immer die Taskleiste angezeigt, die dann auf die anderen Monitore erweitert werden kann.

Dieses Tutorial ist für die Windows 11 22H2 und höher geeignet.


News
Das Tutorial wird natürlich weiter aktualisiert. Auch du kannst mithelfen. Schick uns deine Nachricht über die Tipp-Box.

In den Einstellungen -> System -> Bildschirm kommt man an die Einstellungen für den Monitor. Im oberen Fenster könnt ihr mit gedrückter linker Maustaste die Monitore wechseln. Somit braucht ihr nicht die Kabel neu stecken. Windows erkennt dann (wie im Bild zu sehen) den zweiten als Hauptmonitor.


Ist der Hauptmonitor eingestellt, wird der Eintrag "Diese Anzeige als Hauptanzeige verwenden" grau hinterlegt. Möchte man den Hauptmonitor ändern, so muss man den anderen Monitor auswählen (anklicken)

Dort ist dann die Möglichkeit gegeben den anderen als Hauptmonitor einzustellen. Danach wird dann dieser Eintrag grau hinterlegt sein.


Monitore identifizieren mit einem PowerShell-Skript

Möchte man nicht in die Einstellungen, dann kann man auch ein PowerShell-Skript nehmen, welches Jürgen Klein uns zur Verfügung gestellt hat. Das Skript zeigt an, welcher Monitor der primäre ist und welche die dann folgenden sekundären Monitore.


chcp 65001 > $null
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding  = [System.Text.Encoding]::UTF8

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$ordered = [System.Windows.Forms.Screen]::AllScreens |
    Sort-Object @{Expression = {$_.Primary}; Descending = $true}, @{Expression = {$_.WorkingArea.Left}}, @{Expression = {$_.WorkingArea.Top}}

$forms = @()
$monitorCount = 1

# ApplicationContext für zentrale Steuerung der Message-Loop
$context = New-Object System.Windows.Forms.ApplicationContext

foreach ($screen in $ordered) {
    $form = New-Object System.Windows.Forms.Form
    $form.StartPosition = 'Manual'
    $form.FormBorderStyle = 'None'
    $form.BackColor = 'Black'
    $form.Opacity = 0.65
    $form.Size = New-Object System.Drawing.Size(400,300)

    $x = $screen.WorkingArea.Left + [int](($screen.WorkingArea.Width - $form.Width)/2)
    $y = $screen.WorkingArea.Top  + [int](($screen.WorkingArea.Height - $form.Height)/2)
    $form.Location = New-Object System.Drawing.Point($x, $y)
    $form.TopMost = $true

# Suffix vorher bestimmen (kompatibel mit PS 5.1)
switch ($monitorCount) {
    1 { $suffix = ' (Primär)' }
    2 { $suffix = ' (Sekundär)' }
    3 { $suffix = ' (Tertiär)' }
    4 { $suffix = ' (Quartär)' }
    5 { $suffix = ' (Quinär)' }
    6 { $suffix = ' (Senär)' }
    7 { $suffix = ' (Septenär)' }
    8 { $suffix = ' (Octonär)' }
    9 { $suffix = ' (Nonär)' }
    10 { $suffix = ' (Denär)' }
    default { $suffix = '' }
}

    $label = New-Object System.Windows.Forms.Label
    $label.Text = "Monitor $monitorCount $suffix"
    $label.ForeColor = 'White'
    $label.Font = New-Object System.Drawing.Font('Segoe UI', 36, [System.Drawing.FontStyle]::Bold)
    $label.AutoSize = $false
    $label.Dock = 'Fill'
    $label.TextAlign = 'MiddleCenter'
    $form.Controls.Add($label)

    $forms += $form
    $monitorCount++
}

# Timer schließt alle Formulare gleichzeitig nach Intervall (ms)
$closeInterval = 3000
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = $closeInterval
$timer.Add_Tick({
    $timer.Stop()
    foreach ($f in $forms) { if ($f -and -not $f.IsDisposed) { $f.Close() } }
    $context.ExitThread()
})
$timer.Start()

# Alle Formulare sichtbar machen (gleichzeitig) und Message-Loop starten
foreach ($f in $forms) { $f.Show() }
[System.Windows.Forms.Application]::Run($context)

Das Skript kann in eine Textdatei kopiert und als Identify_Monitors_middle_SONDER.ps1 abgespeichert werden. Mögliche Formate sind UTF-8, UTF-8 mit BOM, UTF-16 LB, UTF-16 LE oder ANSI.

Das Skript muss dann per Rechtsklick mit PowerShell ausgeführt werden.

Wir haben es einmal fertig gepackt als identify-monitors-middle-sonder.zip zum Herunterladen bereitgestellt.



Fragen zu Windows 11?

Info
Du hast noch einen Tipp oder Änderung zum Tutorial? Dann schreibe uns Deine Ergänzung über unsere Tipp-Box, damit unser Wiki immer aktuell bleibt. Bitte den Namen oder Link mit angeben.

Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 11

Tagesaktuelle News im Blog: - Hauptseite Kategorie: Windows 11
Neue und interessante Tutorials für Windows 11