TScreen hat ein Array-Property Monitors und ein Property MonitorCount, mit dem du die angeschlossenen Monitore ermitteln kannst. Der Hauptbildschirm hat primary auf true gesetzt. Du kannst dem Hauptbildschirm also so ermitteln:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function GetPrimaryMonitor: TMonitor; var i : Integer; begin Result := nil; for i := 0 to Screen.MonitorCount - 1 do begin if Screen.Monitors[i].Primary then begin Result := Screen.Monitors[i]; break; end; end; end; |
Das sollte funktionieren, egal wie viele Monitore angeschlossen sind. Es geht leider nicht immer - manche Dualhead-Grafikkarten (von Matrox z.B.) können die beiden Monitore für Windows wie einen einzigen Monitor aussehen lassen.
Stefan
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.