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 Nach Prozessstart Methode starten (https://www.delphipraxis.net/94274-nach-prozessstart-methode-starten.html)

jjep 19. Jun 2007 07:32


Nach Prozessstart Methode starten
 
Hallo zusammen

Ich suche nach einem Ereigniss das ausgelöst wird, wenn eine gewisse Prozedure läuft.
Weiss jemand wie die heissen könnte?

Gruss jjep

Tiuri 19. Jun 2007 07:42

Re: Nach Prozessstart Methode starten
 
Willkommen in der Delphi-Praxis!

Wenn ich dich richtig verstehe, willst, dass beim Start einer Prozedur eine andere Prozedur aufgerufen wird. Um das zu realisieren, würde ich einfach am Anfang der Prozedur diese andere Prozedur aufrufen:
Delphi-Quellcode:
procedure EreignisProzedur;
begin
  // Diese Prozedur wird ausgeführt, wenn die andere Prozedur startet
end;

procedure Procedure1;
begin
  EreignisProzedur;
  // ...
end;

RavenIV 19. Jun 2007 07:45

Re: Nach Prozessstart Methode starten
 
oder Du schickst Dir selber eine Message am Anfang der ersten Procedure.

jjep 19. Jun 2007 07:48

Re: Nach Prozessstart Methode starten
 
Nei nicht ganz.

Ich möchte ein Ereignis auslösen, wenn eine gewissen Prozess/Programm/exe-file in Windows gestartet wird.

sirius 19. Jun 2007 09:34

Re: Nach Prozessstart Methode starten
 
Das geht so einfach nicht.

Mir fallen da folgende Varianten ein:
1. Du schaust in regelmäßigen Abständen, welche Processe laufen.
2. Du hookst alle Varianten von CreateProcess, wartest da auf deinen Zielprocess und musst aufpassen, dass andere gestartete Processe auch gehookt werden
3. Du veränderst die "exe", sodass sie gleich zu Beginn eine Message o.ä. sendet.

jjep 19. Jun 2007 09:52

von exe einer exe message schicken
 
Tönt interessant

1. Möchte ich nicht gerne Anwenden da es den Prozessor nur unnötig belastet

2. mhhh hooken... muss ich mich mal informieren

3. Wie kann man von einer exe einer anderen exe eine Mitteilung geben??

Danke vielmals jjep

sirius 19. Jun 2007 10:01

Re: Nach Prozessstart Methode starten
 
1. Habe ich mir fast gedacht

2. Suche mal nach "uallcollection" bei sourceforge. Da gibts schonmal fertige Lösungen. Du musst dann halt aufpassen, dass wenn z.B. der Explorer neu gestartet wird (was du ja durch den Hook auch mitbekommst) du für diesen Process auch wieder einen Hook "starten" musst. Gilt für alle anderen Processe die möglicherweise deinen Zielprocess starten genauso.

3. Sendmessage (mit Rückantwort) oder Postmessage (ohne Rückantwort). Das dürfte aber das geringere Problem sein. Du müsstest die exe so ändern, dass du Postmessage aufrufst und zuvor die Parameter festlegst. Dann musst du noch den AddressOfEntryPoint umlegen und auf dein Postmessage und schließlich zu jenem springen.


Du musst natürlicch immer beachten, was du überhaupt für Rechte hast.

jjep 19. Jun 2007 14:58

Re: Nach Prozessstart Methode starten
 
Ich habe es nun mit Punkt 3 realisiert.
Für Punkt2 habe ich im Moment zu wenig Zeit.

Danke vielmals

sirius 19. Jun 2007 19:29

Re: Nach Prozessstart Methode starten
 
Ich vermute anhand der Antwort, es waren beides deine eigenen Programme. Dann ist 3. natürlich am einfachsten und 2. völlig überzogen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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