Hab mich grad mal wieder mit Hooks beschäftigt, global ist das ganze kein Problem, nur eine Sache wurmt mich grade, dürfte aber nicht sonderlich schwer sein, für einen lokalen Tasterturhook (dass das keinen Sinn macht weiß ich, soll nur ein Beispiel sein), sieht der Aufruf ja so aus:
Delphi-Quellcode:
{Hook installieren, Parameter:
WH_KEYBOARD: Keyboardhook
@KeyboardHookProc: Adresse der Callback Funktion, muss sich für globale
Hooks und Hooks auf andere Prozesse in einer .dll befinden
HInstance: Handle auf die .dll; bei lokalem Hook NULL
Thread Identifier des Thread auf den der Hook gesetzt wird; 0: globaler Hook
}
HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc,
0, ???);
Mein Beispiel geht davon aus, dass sich der Code in der Anwendung befindet.
Die Frage ist, wie komme ich nun an die Information für den letzten Parameter?
Als Erweiterung: Wie komme ich an den letzten Parameter eines anderen bestimmten Prozesses (klar, das Ganze muss dann auf eine .dll angepasst werden)?
Ich
vermute mal einfach, ich komm da über die Fensterhandles ran (wie ich die bekomme wäre mir klar), nur wie bekomme ich daraus die nötige Thread Info?
[Edit] kleiner Buchstabendreher