Auf welchem Screen ist mein Fenster

Habe das Forum durchsucht aber keine befriedingende Lösung gefunden.
Wie finde ich denn heraus auf welchem Screen sich mein Fenster befindet, bzw. verschoben wurde?

Am einfachsten, indem du einen Hittest der Fenster-Position im Rectangle der screens machst. Also in etwa (nicht getestet):

for q as integer = 0 to screencount - 1 if winposX >= screen(q).Left and winposX <= screen(q).Width and winPosY >= screen(q).Top and WindPosY <= screen(q).Height then Return q End If Next

@Ulirich, ich hab jetzt auf die schnelle keine Antwort, aber ich denke, Deine Lösung liefert keine zuverlässigen Ergebnisse:

winposX <= screen(q).Width

Beispiel bei zwei Screens nebeneinander. Links Screen(0) rechts daneben der Screen(1): Die winposX kann ja im zweiten Screen deutlich größer sein als dessen Width. Also würde der Hittest bei einer AND-Verknüpfung nicht “hiten”.

Oder ich hab da einen Denkfehler.

Neinnein, du liegst völlig richtig. Das kommt eben dabei raus, wenn man auf die Schnelle was zusammentippt, ohne es zu prüfen. Also in der Tat winpos.X <= screen(q).left + screen(q).width.
Danke!