Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: HILFE! Noch einmal der Tastaturhook

  Alt 3. Mai 2010, 23:37
Hallo,

Also.
Du möchtest, dass wir dir helfen,
und entschuldige, der Code ist einfach schwer lesbar.

Was hälst du von folgendem ?

Delphi-Quellcode:
procedure loaddll;
begin
  LibHandle:=LoadLibrary('capslock.dll');
  if LibHandle=0 then
  begin
    error ('Library not loaded');
    exit
  end;

  inst := GetProcAddress(LibHandle,'AfterInstall');
  uninst := GetProcAddress(LibHandle,'AfterUninstall');

  if HookHandle <> 0 then
  begin
    Error ('Hook ist bereits installiert');
    exit
  end;

  HookHandle := SetWindowsHookEx(WH_KEYBOARD,
                  GetProcAddress(LibHandle, 'KeyboardHookProc'),
                  LibHandle, 0);

  if HookHandle = 0 then
  begin
    Error ('Hook Installation fehlgeschlagen');
    exit
  end;

  inst (HookHandle); // Initialisierung in der DLL
end;

Wenn dir die Formatierungs-"Hinweise" nicht gefallen.
OK

Wundere dich dann aber nicht, wenn keiner über deinen Code
"drüberschaut".

Mir hatte dein Code gereicht, nicht näher hinzusehen.
Nun ja, aber trotzdem.

Was mich eh wundert, ist, dass du hier nicht als Admin "elevated" bist.

Globale Hooks kann ein nomaler User nicht setzen.


Ausserdem fehlt zumindestes der Pdeuso-Code für KeyboardHookProc.


Heiko
Heiko
  Mit Zitat antworten Zitat