Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.381 Beiträge
 
Delphi 2007 Professional
 
#1

SetWindowsHookEx - Beendet Programme

  Alt 13. Sep 2014, 11:31
Ich versuche mich gerade mit einem globalen Hook aber mir stürzen einfach der reihe nach programme ab, die beenden sich einfach so ...

Hat wer ne idee?

(Werde es später dann statt dem WH_KEYBOARD mit dem WH_KEYBOARD_LL probieren für global)


Das ist mein Versuchscode ....

Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
    Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
    if nCode < 0 then exit;
    if (nCode = HC_ACTION) then begin
        OutputDebugString(PChar('Hook : '+IntToStr(nCode)+', '+IntToStr(wParam)+','+IntToStr(lParam)));
    end;
end;

function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
    DisableThreadLibraryCalls(HInstance);
    Result := False;
    if HookHandle = 0 then begin
        HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, 0);
        WindowHandle := Hwnd;
        Result := TRUE;
    end;
end;

function UninstallHook: Boolean; stdcall;
begin
    Result := UnhookWindowsHookEx(HookHandle);
    HookHandle := 0;
end;
Bin für alleVorschläge offen
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat