Einzelnen Beitrag anzeigen

hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

SetWindowsHookEx innerhalb der DLL selbst

  Alt 23. Mär 2013, 10:22
Hallo zusammen

Ich würde gerne prüfen ob irgendwo eine bestimmte Tastenkombination gedrückt worden ist.

Dazu habe ich versucht innerhalb einer DLL selbst, einen Hook zu setzen.

Hier mein Code:

Delphi-Quellcode:

var
MainHook : HHOOK;
//...

function KeyboardHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): Longint; stdcall;
begin
  MessageBox(HWND_DESKTOP,Pchar('Wir sind im Hook!'),'Message',MB_ICONINFORMATION);
end;

//....


MainHook := SetWindowsHookEx(WH_KEYBOARD, KeyboardHook, hinstance, 0);

  if MainHook = 0 then begin
    MessageBox(HWND_DESKTOP,Pchar('Fehlerhafter Hook!'),'Message',MB_ICONINFORMATION);
  end
  else begin
     MessageBox(HWND_DESKTOP,Pchar('Hook erfolgreich!'),'Message',MB_ICONINFORMATION);
  end;
Dieser Code wird automatisch beim Laden der DLL ausgeführt.

Ich bekomme auch die Meldung : Hook erfolgreich
aber leider bekomme ich nie die Meldung: Wir sind im Hook!

Es scheint so, als ob ich keinen echten Hook gesetzt hätte. Woran liegt das?

Danke schonmal
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat