Einzelnen Beitrag anzeigen

hesch21

Registriert seit: 31. Aug 2004
Ort: Basel
114 Beiträge
 
Delphi XE2 Enterprise
 
#4

AW: In Hook auslösender Prozess ermitteln

  Alt 16. Dez 2013, 11:37
Danke für Eure Antworten, aber vermutlich habe ich mich unverständlich ausgedrückt. Die DLL mit dem Hook (genauer dem Hook-Call-Back) 'hängt' an einem Programm ALARM.EXE, welches seinerseits auch noch 'versteckt' läuft. Es ist nur ein Tray-Icon sichtbar.
Nun kann der Benutzer also irgendwo eine Tastenkombination (üblicherweise PageUp-PageDown) drücken und damit einen Alarm auslösen, der dann von ALARM.EXE über TCP/IP weiter geleitet wird. Das der Hintergrund und das funktioniert auch alles problemlos.
Nun kann der Benutzer aber wie gesagt die Tastenkombination in irgend einem Prozess betätigen, je nachdem, was er gerade am machen ist. Es geht sogar bei laufendem Bildschirmschoner oder mit Ctrl-Alt-Del blockiertem Rechner. So, und nun möchte ich einfach die PID wissen von dem (fremden) Prozess, der aktiv war, als der Benutzer die Tastenkombination gedrückt hat.

Der Ansatz von baumina tönt irgendwie nicht schlecht. CallBack setzt man ja immer zum Schluss Result := CallNextHookEx(HookTastatur, Code, wParam, lParam);
um (sofern ich das richtig verstehe), die Taste auch noch an das Programm/den Prozess weiter zu geben, wo die Eingabe erfolgt ist. Also muss ja 'irgendwo' bekannt sein, wie und wohin, aber eben...

himitsu, mit dem eigenen Fenster, Handle, PID, etc. habe ich wirklich keine Probleme.
Heinz Schneider
  Mit Zitat antworten Zitat