Einzelnen Beitrag anzeigen

czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#1

Hook - doppelt ausgelöst?

  Alt 20. Jun 2004, 13:03
Hallo,

ich beschäftige mich zur Zeit mit Hooks und habe mir dazu Assarbads Tutorial angeschaut,
mich streng daran gehalten und ein Problem festgestellt.
Ich schicke das Ergebnis eines Tastaturhooks, also eine gedrückte Taste aus der dll an
ein Programm wo, diese Tase lediglich angezeigt wird. Jedoch nur wenn die Eingabe im
InternetExplorer erfolgte.
Nun habe ich festgestellt, dass scheinbar jeder Tastendruck zweimal "ausgelöst" wird.
So erscheint bei folgendem Quelltext der HookProc zweimal eine showmessage bei einem
Tastendruck:
Code:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
hHost, hIE : THandle;
begin
  case nCode < 0 of
    TRUE: exit;

    FALSE:
      begin
      hIE := GetForegroundWindow;
       if( hIE = FindWindow('IEFrame', nil)) then
       begin
         hHost := FindWindow(NIL, 'MeinProgramm');
         if hHost <> 0 then
         begin
            SendMessage(hHost, wm_KeyUp, wParam, 0);
            ShowMessage(chr(wParam));
         end;
       end;
      end;
  end;
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
end;
Woran kann das liegen?
Danke,
Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat