Auf welchem Monitor befindet sich mein Fenster?



  • ich habe bereits das forum durchsucht, aber entweder gab es das thema nicht oder ich habe wahrscheinlich die falschen suchbegriffe verwendet.

    zu minem problem: meine programme merken sich beim beenden fenstergröße und -position. das klappt unter "normalen" bedingungen ohne probleme. nun hatte ich neulich jedoch einen 2. monitor als erweiterten desktop und mein programmfenster dort abgelegt und auch dort geschlossen. beim erneuten start auf nur einem monitor war das fenster natürlich nicht sichtbar, da es immer noch auf dem - nicht angeschlossenen - 2. monitor lag.

    meine frage: wie kann ich feststellen, ob ein 2. monitor angeschlossen ist oder nicht?

    ein workaround wäre, bei jedem programmstart zu prüfen, ob die koordinaten der fensterposition außerhalb des (ersten) bildschirms liegen und dann korrigieren. das wiederum würde jedoch bedeuten, wenn ich das programm auf dem 2. monitor habe, kurz schließe und neu starte, erscheint es auf dem ersten bildschirm, obwohl ja ein zweiter angeschlossen ist. demnach ist dieser workaround nicht so elegant.

    gibt es eine besondere api-funktion, mit deren hilfe man feststellen kann, ob der desktop durch einen zweiten monitor erweitert wurde?

    gruß
    daniel


  • Mod

    MonitorFromWindow MonitorFromPoint MonitorFromRect



  • super, vielen dank!



  • hm, ich kann die Funktionen leider nicht in der Funktionsreferenz der WinAPI-Hilfe finden... gibt es unterschiedliche API-Versionen?



  • Daniel_L schrieb:

    hm, ich kann die Funktionen leider nicht in der Funktionsreferenz der WinAPI-Hilfe finden... gibt es unterschiedliche API-Versionen?

    Platform SDK runterladen



  • jup, danke. hab ein bisschen voreilig gefragt, weil ich kurz nach meinem posting einiges dazu bei google gefunden habe... danke!


Anmelden zum Antworten