Grafische Änderungen von einem Fenster überwachen?
-
Nabend Leute,
uns zwar überleg ich mir gerade, wie man am Besten ein Fenster überwacht. D.h. ich will eine Art "Handler" erstellen, der dann aufgerufen wird, wenn sich was im Fenster (Grafisch!) ändert.
Zu berücksichtigen wäre an dieser Stelle, das ich das gerne auch dann tun würde, wenn es im Hintergrund ist.Was ich mir überlegt habe:
Über die SetWindowLong könnte man den OnDraw-Handler abfangen - was jedoch sicherlich ein Problem darstellt wäre das im HIntergrund? Evt. fällt jemand was Intelligentes zu ein
Würde mich über ein kleines Feedback zu den Punkten hier freuen!

-
Sicher kannst Du ein Subclass machen und WM_PAINT abfangen.
Aber Windows verhindert diese Nachrichten, wenn es eben nicht sichtbar ist. Dafür gibt es auch keinen Trick er Welt an die internen Windows Handler Strukturen heranzukommen, die angeben ob ein Bereich neu gezeichnet werden könnte oder nicht. Da er nicht sichtbar ist gibt es eben auch keinen Status über diesen Bereich. Und wenn wäre dieser immer = "Muss neu gezeichnet werden".
-
Hm, hab mal was von Virtuellen Desktops gehört. Könnte man damit nicht für jedes Fenster einen V-Desktop erstellen?
-
und dann?
-
Naja, dann ist das Fenster auf einem V-Desktop und im Vordergrund. Somit müssten doch die Nachrichten wieder ankommen?
-
Ich vermute mal Windows wird die Nachrichten dann trotzdem nur senden wenn der v-desktop sichtbar ist. Aber probieren geht über studieren

-
So schaut es aus! Kleine Frage, was hat ein V-Desktop für einen Sinn, wenn er Sichtbar sein muss?
-
Wenn man viel Kram offen hat kann man die Fenster zumindest auf V-Desktops aufteilen.
Oder damit man schnell fleissig-sein vortäuschen kann, wenn man auf nem anderen v-desktop gerade freecell spielt
-
aha, nicht für etwas Sinnvolles?