Sozusagen im Nachgang zum Beitrag VirtualBox: Mehrere (virtuelle) Bildschirme verwenden kommt nun ein Automatismus um die virtuellen auf die realen Bildschirme zu verteilen.

Notwendig wurde dies, da es immer wieder vorkam, das die Fenster sich überlappten und mitunter man schlicht übersah oder vergaß das Fenster des zweiten virtuellen Bildschirms zu verschieben. Damit man nicht immer manuell eingreifen muss, wurde ein kleines AutoIt-Skript geschrieben und als Aufgabe bei der Benutzeranmeldung auf dem Host hinterlegt. Sobald die VM gestartet wird bzw. deren Fenster erscheinen, werden diese automatisch auf zwei Displays verteilt. Genau genommen wird nur der zweite virtuelle Bildschirm auf das zweite reale Display, das rechts positioniert ist, verschoben.

Auf die Schnelle sowie kurz und knackig sieht das Ganze so aus:

; AutoIt Tray Icon ausblenden

#NoTrayIcon

; Konfiguration

$WindowTitle1 = "Windows XP [wird ausgeführt] - Oracle VM VirtualBox : 2"
$WindowTitle2 = "Windows XP [wird ausgeführt] - Oracle VM VirtualBox : 1"

; Ablauf

While 1
 If WinExists ($WindowTitle1) Then
  $WindowPosition = WinGetPos ($WindowTitle1)
  If $WindowPosition[0] < 1681 Then 
   WinActivate ($WindowTitle1)
   WinWaitActive ($WindowTitle1)
   WinMove ($WindowTitle1, "", 1681, 0)
   WinSetState ($WindowTitle1, "", @SW_MAXIMIZE)
   WinActivate ($WindowTitle2)
   WinWaitActive ($WindowTitle2)
   WinSetState ($WindowTitle2, "", @SW_MAXIMIZE)
  EndIf
 EndIf
 Sleep (500)
WEnd

Für die eigenen Zwecke anpassen muss man die Fenstertitel und ggf. die Position (“1681”).