Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Paint Message von Andere Anwendung abfangen (https://www.delphipraxis.net/139059-paint-message-von-andere-anwendung-abfangen.html)

NickelM 22. Aug 2009 15:38


Paint Message von Andere Anwendung abfangen
 
Tach zusammen,

Ich programmiere mir für meinen Rechner ein eigenes TS-Tracker programm, weil das andere bei mir nicht funkt :mrgreen:
Funkt auch soweit gut, ich zeiche mir aufm Bildschirm (Desktop oder im Spiel) immer was. Funkt auch.
Mein Problem ist nur das ich es immer neuzeichen muss mit einem Timer,weil sich ja ein Spiel auch zuzeichnet und das hat einen flackern zu Folge von meinem gezeichneten.
Jetzt ist mir eingefallen, wenn ich die Paint-Message abfange und dan erst neuzeichne ist es eigentlich mit dem Neuzeichnen das Spiel anpassen könnte.
Mein Prob ist nur, wie mach ich das? :gruebel: Mit GetMessage hab ich mir gedacht, aber wenn ich als Handel 0 angebe macht er es nicht bei mir.
Den PaintHandle lese ich mit GetDC(0) aus geht auch super. Nur Handle 0 als Windows-Handle macht er mir net...
Verwende ich die falsche Funktion? :wall:
Ich hoffe ihr könnt mir helfen, freu mich schon auf eure antworten und Vorschläge

Gruß NickelM

NickelM 9. Sep 2009 16:42

Re: Paint Message von Andere Anwendung abfangen
 
*push*
Kann mir keiner mal ein Ansatz geben, wie ich das realisieren könnte. Dan könnte ich googlen.

franktron 9. Sep 2009 16:49

Re: Paint Message von Andere Anwendung abfangen
 
Du kannst das vielleicht mit einem WM_PAINT Hook machen.

Und was ist ein TS-Tracker

NickelM 9. Sep 2009 16:57

Re: Paint Message von Andere Anwendung abfangen
 
Der Ts-Tracker hab ich selbst gemacht. Er liest die letze Zeile der List des Programms Teamspeak aus und zeichnet es in die linke obere ecke.
Da ich das zur Zeit noch nicht hinbekommen habe, die Paint Message eines Spiels abzufangen (müsste doch gehen oder?) zeichne ich es jeder Sekunde in die ecke und lass eine Zahl hochzählen, bis sie einen bestimmten Wert hat und dan sich der Timer ausschaltet :-D

Medium 9. Sep 2009 17:54

Re: Paint Message von Andere Anwendung abfangen
 
Ein Spiel welches - und darum geht es vermute ich mal - auf DirectX oder OpenGL aufsetzt hat überhaupt kein Paint-Ereignis. Die komplette Darstellung läuft da völlig anders als in normalen Windowsprogrammen. Um da dran zu kommen, müsstest du die Present- bzw. Flip-Methoden der jeweiligen API hooken, was allerdings schon ne Ecke heftiger ist. Wie das im Detail auszusehen hat weiss ich leider nicht, aber da ist wohl schon ordentliches Gefummel nötig. Die Frage taucht zumindest öfter mal in diversen Foren auf, und ich meine mich zu erinnern nie eine fertige Lösung dafür gesehen zu haben.

NickelM 14. Sep 2009 01:55

Re: Paint Message von Andere Anwendung abfangen
 
Danke dir Medium....
So was ähnliches habe ich mir schon gedacht :mrgreen:
Aber nun ja....war nur ne Idee....zur Zeit langts mir auch wenns flackert, dass ich es zumindest sehen kann, auch wenn ich manchmal Probleme durch flackern hab mit dem lesen :zwinker: :mrgreen:

Danke auch an die anderen, die vielleicht über ne Lösung nachgedacht haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz