Einzelnen Beitrag anzeigen

Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Problem mit der DLL und dem Hook

  Alt 11. Okt 2008, 00:36
Offensichtlich hast Du Dir die Tutorials nicht aufmerksam genug durchgelesen.

Im Grunde hast Du doch schon einen fast funktionierenden Quelltext. Mit
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  lib := LoadLibrary('keyboardhook.dll');
  if lib <> INVALID_HANDLE_VALUE then
  begin
    InstallHook := GetProcAddress(lib, 'InstallHook');
    if Assigned(InstallHook) then // prüfen, ob die entsprechende Prozedur überhaupt in der DLL gefunden wurde
      InstallHook(Self.Handle); // und hier die Prozedur aus der DLL aufrufen, ggf. Parameter übergeben nicht vergessen!
  end; // else ERROR
end;
initialisierst Du den Hook.

In der DLL musst Du dann noch hier
Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin

  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE: exit;
    FALSE:
      begin
        // hier die Tastendrücke auswerten, verarbeiten, sonst was damit machen
        // ggf. eine Message an Dein Hauptprogramm senden, um die Tastendrücke dort zu verarbeiten
      end;
  end;
end;
ein wenig nacharbeiten.

Aber am Besten liest Du Dir die Tutorials noch einmal aufmerksam durch und versuchst alles zu verstehen. Mit Deinem Halbwissen wirst Du nicht weit kommen.
Wenn Du Fragen hast, wird Dir hier garantiert weitergeholfen.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat