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 auf start von fremden prozess reagieren (https://www.delphipraxis.net/95811-auf-start-von-fremden-prozess-reagieren.html)

Evian 13. Jul 2007 13:54


auf start von fremden prozess reagieren
 
Hallo Zusammen,

ist es irgendwie möglich herrauszubekommen, wann ein neuer Prozess (irgend ein anderes Programm) startet, also ohne jetzt immer die Tabelle der laufenden Prozesse abgleichen zu müssen? Und wenn ja, kann ich dann noch weitere Informationen über diesen Prozess (Name, Pfad zur Programmdatei, Prozess ID, etc.) herausbekommen?

liebe Grüße,

Phill

Luckie 13. Jul 2007 13:57

Re: auf start von fremden prozess reagieren
 
Och das hatten wir schon so oft. Benutz doch einfach mal die Suche. Letztendlich läuft es darauf hinaus, dass du die entsprechenden API-Funktionen hooken musst. Wie das geht hat toms in seinem Execute-Hook demonstriert:
http://www.michael-puff.de/dirindex..../Importe/toms/

Evian 13. Jul 2007 14:04

Re: auf start von fremden prozess reagieren
 
sorry luckie, aber ich habe gesucht... bald 10 minuten lang,
da mir klar war, dass das schon x mal besprochen wurde, aber
ich habs einfach nicht gefunden.

Wo ist also das Problem, wenn ich einfach noch mal nachfrage,
wenn dich der Tread stört, dann lösch ihn doch einfach..!

wicht 13. Jul 2007 17:15

Re: auf start von fremden prozess reagieren
 
Also, ich kann Luckie schon verstehen.. Ich habe gerade auf gut Glück gegoogelt und im ersten Treffer Delphi-Sourcecode gefunden... Naja will die sinnlos-Diskussion jetzt nicht aufflammen lassen. Würde sagen Ende hier...

Olli 14. Jul 2007 12:36

Re: auf start von fremden prozess reagieren
 
Tja Jungens, wie wäre es dann endlich mal mit einem Tutorial: "wie suche ich richtig?". Und das meine ich keineswegs abwertend gegenüber Evian, sondern im Gegenteil. Das Problem ist nämlich, daß eine automatisch indizierte Textmenge eben auch nur bei den "richtigen" Begriffen was sinnvolles ausspuckt. :zwinker:

Nochmal zur eigentlichen Frage, das funktioniert dann bei einigen Methoden, mit denen man ein Programm auch starten kann, nicht mehr so gut. Da könnte man dann jedoch seit Windows 2000 vorhande KM-Callbacks benutzen.

Neotracer64 14. Jul 2007 12:47

Re: auf start von fremden prozess reagieren
 
Wenn es um einen bestimmten Prozessnamen geht, hat sich das für mich bewährt:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Dort einen neuen Schlüssel für zum Beispiel calc.exe anlegen und dort einen REG_SZ mit dem Namen Debugger und dem Wert deines Überwachungsprogramms erstellen.
Ich habe meinem Programm dann noch ein Mutex gegeben und Commandline Options mit in den REG_SZ Eintrag geschrieben, so dass mein Programm nicht zig mal gestartet wird, sondern die erste Instanz wieder die Kontrolle bekommt und auf den Start der Executable reagieren kann.

Im Kernelmode dagegen kann man PsSetLoadImageNotifyRoutine() benutzen.


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