Also :
mein Manifest
Code:
<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-
com:
asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
name="HookTest"
type="
Win32"/>
<trustInfo xmlns="urn:schemas-microsoft-
com:
asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="
win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
und das der Code den ich verwenden
Delphi-Quellcode:
function JournalHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
temp : PEventMsg;
tempS : string;
begin
Result := CallNextHookEx(HookHandle_Mouse, nCode, wParam, lParam);
if nCode < 0 then exit;
if (nCode = HC_ACTION) then begin
temp := PEventMsg(lParam);
setlength(tempS, 1024);
setlength(tempS, GetWindowText(temp^.hwnd, PChar(tempS), 1024));
Form9.Memo1.Lines.Add('Hook Msg : '+IntToStr(nCode)+', '+IntToStr(temp^.hwnd)+' "'+tempS+'" ,'+IntToStr(temp^.message)+', '+IntToStr(temp^.paramL)+', '+IntTostr(temp^.paramH)+'');
end;
end;
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
DisableThreadLibraryCalls(HInstance);
Result := False;
if HookHandle_Journal = 0 then begin
HookHandle_Journal := SetWindowsHookEx(WH_JOURNALRECORD, @JournalHookProc, HInstance, 0);
Result := TRUE;
end;
end;
unter Windows XP läuft alles so wie geplant
auf meinem Windows 7 rechner stürzt es "komisch" ab sprich es reagiert nicht ... nach einiger zeit dann doch wieder usw..
am Win 8 PC lässt es sich nicht starten
mit folgender Errormeldung :
D:\HookTest.exe
Eine Referenzauswertung wurde vom Server zurückgesendet.