Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Window soll Nachricht senden, wenn eine best. Anw. startet (https://www.delphipraxis.net/83329-window-soll-nachricht-senden-wenn-eine-best-anw-startet.html)

rage2001 31. Dez 2006 00:09


Window soll Nachricht senden, wenn eine best. Anw. startet
 
Mann kann Window ja beauftragen Bescheid zu geben, wenn eine Datei gelöscht geändert... wird. Ich wüßte gern ob man Window auch beauftragen kann, eine Nachricht an mein Programm zu senden wenn eine bestimmete Anwendung startet. Der Hintergrund ist folgender: In meinem LCD-Steuerprogramm Info2LCD für das ct-Mäusekino überwache ich den Start einiger Programme (Winamp, DVBViewer, iTuners, Zoomplayer, dbPower) um dann Daten dieser Programme auf dem LCD-Display darzustellen. Den Start zu erkennen ist für das Programm wichtig, um z.B. (sofern der User das möchte) automatisch beim Start von Winamp zum Beispiel sofort den dazugehörigen Screen darzustellen. Bisher habe ich das mit einem Timer gelöst der im Sekundentakt überprüft (mittels Findwindow) ob einer der erwähnten Programme startet oder beendet wird. Um Rechenzeit zu sparen wäre es natürlich schön wenn man Window sagen könnte, HEY GIB MIR BESCHEID WENN DAS PROGRAMM STARTET.
Weiß jemand von Euch etwas über dieses Thema?
Vielen Dank schonmal und einen guten Rutsch.

Olli 31. Dez 2006 01:11

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
Also über einen Prozeßstart kann man sich ab Windows 2000 nur im Kernelmode benachrichtigen lassen. Im Usermode gibt es da nichts generisches. Du kannst maximal immer pollen, ob schon was neues "angekommen" ist.

Robert Marquardt 31. Dez 2006 05:24

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
Mit einem globalen WH_SHELL Hook kann man der Sache aber nahe kommen.

Olli 31. Dez 2006 05:37

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
... unter der Annahme, daß niemand so böse ist und CreateProcess() verwendet ... und noch einige andere entsprechende Funktionen, oder?

Robert Marquardt 31. Dez 2006 05:48

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
Man bekommt eine WINDOWCREATED Benachrichtigung fuer das Hauptfenster. Da kann man davon ausgehen das das Programm gerade gestartet wurde. Da es ein globaler Hook ist, kann man auch den Namen des Programms herausbekommen. Die Hook-DLL ist schliesslich an das Programm angedockt.

Olli 31. Dez 2006 05:50

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
Jetzt verstehe ich was du meinst. Jupp, also alles was mit Fenstern zu tun hat sollte so abzufangen gehen.

DP-Maintenance 31. Dez 2006 11:56

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Internet / LAN / ASP.NET" nach "Windows API / MS.NET Framework API" verschoben.
Kein Netzwerkproblem

rage2001 1. Jan 2007 22:35

Re: Window soll Nachricht senden, wenn eine best. Anw. start
 
Erstmal vielen Dank, ich werde das mal ausprobieren und eine Rückmeldung oder weitere Frage hier reinstellen. Gesundes neues Jahr noch an alle.

cu rage


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

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