DLL mit HOOK nur in einen Prozess laden
-
Hi,
ich möchte einen Hook setzen und zwar nur für EIN Programm,von dem ich den Namen der .exe/die ProzessID kenne!
Mit dem letzten Parameter von SetWindowsHookEx sollte das ja möglich sein nur finde ich keine Funktion mit der ich den Wert zu einem bestimmtem .exe/ProzessID Namen rausbekomm!
Meine Lösung wäre die DLL mit dem hook einfach in alle Prozesse injecten ,dann den Namen des derzeitigen Prozessens auslesen und mit dem den ich "behooken" will vergleichen,gibt es eine andere Möglichkeite also die DLL nur in einen Prozess laden lassen?Es soll auch nicht nur für einen Thread gelten sondern einfach für ein komplettes Programm
Danke im voraus
-
was für ein hook denn?
-
Du kannst mit einem Snapshot durch alle Prozesse gehen und deren PID und Dateinamen auslesen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/taking_a_snapshot_and_viewing_processes.asp
-
qasdfgh schrieb:
...und deren PID...
Soll das heißen der letzte Parameter von SetWindowsHookEx ist die ProzessID eines
Prozesses?Ich habs schon probiert aber wenn ich GetCurrentProcessId() als letzten
Parameter verwende schlägt die Funktion fehl und meldet das der Parameter ungültig
ist
Danke im voraus
-
Hallo was geht eigentlich, lies doch mal die MSDN, alter!!!!!
Der letzte Parameter nennt sich dwThreadId und gibt an mit welchem Thread der Hook assoziert werden soll!!!! das ganze hängt aber auch wieder vom Typ des hooks ab weil manche hooks IMMER global sind deshalb wärs mal nice zu erfahren was du überhaupt machen willst!!!
mFG
RANNER
-
Hat sich erledigt,Danke