Wie an Hintergrund eines Fensters bekommen?



  • Hallo.

    Ich suche eine Möglichkeit an den aktuellen Hintergrund eines Festers zu kommen. Also das Bild, welches ich an der Stelle, wo jetzt mein Fester ist, sehen würde, wenn das von meiner Anwendung erstellte Fenster nicht da/sichtbar wäre.

    Ich hoffe jemand kann mir sagen, wo Windows die anderen Fensterinhalte speichert.

    Muss man selbst eigentlich noch alle anderen Fenster ausfindig machen und ihnen WM_PAINT-Nachrichten oder sowas in der Art schicken, wenn sie gerade von meinem verdeckt werden.

    Oder geht das alles gar nicht ohne unglaublichen Aufwand?

    Vielen Dank. 🙂



  • WM_PRINT/ WM_PAINT ging meines Erachtens nicht bei prozessfremden Fenstern.

    Was du allerdings tun könntest, wäre das Desktopfenster (GetDesktopWindow) holen und den Inhalt im von dir definierten Rechteckes in ein Bitmap-DC blitten.



  • ...dafür musst du deine Applikation allerdings kurzzeitig ausblenden.



  • Ich will ja gerade die Dinge, die zur Laufzeit hinter meinem Fenster passieren, verändert ausgeben können.

    Meinst du, man könnte mein Fenster so kurz ausblenden, dass man es nicht sieht? Ich glaube nicht, dass das ohne Flackern geht, zumal die Lösung alles andere als elegant wäre.

    Wenn das irgendwie gehen würde, könnte man damit zum Beispiel schöne Screensaver machen, die den aktuellen Desktop als Vorlage benutzen. Alle, die es bis jetzt gibt und das machen, nehmen einfach nur beim Start den Bildschirm auf und verwenden das Bild dann. Ich möchte das aber nicht so statisch haben, sondern jederzeit auf den aktuellen Desktop mit den Fenstern und allem was darin blinkt und macht zurückgreifen können, obwohl mein Fenster da noch oben drüber liegt und eigentlich alles (oder Teile) verdeckt...



  • Bei Vista wird das irgendwie über DWI gehen, falls aktiv.
    http://blogs.msdn.com/greg_schechter/archive/2006/03/05/544314.aspx

    Anders kann ich mir nicht vorstellen das das ohne ständiges ein/ausblenden der eigenen Anwendung mit Flackerei möglich wäre.
    WM_PRINT fällt schon flach, weil dort bei einigen Anwendungen/Fenstern gar nichts passiert 😉


Anmelden zum Antworten