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