Ich benutze Delphi 2009.
Am Ende des Form-Create-Event setze ich einen Jurnalhook:
MainForm.MouseHook := SetWindowsHookEx(WH_JOURNALRECORD, @MouseHookProc, HInstance, 0);
Die MouseHookProc sieht so aus:
Delphi-Quellcode:
{--[MouseHookProc]-------------------------------------------------------------}
function MouseHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
P: PEventMsg;
begin
If nCode = HC_ACTION then
begin
If lParam <> 0 then
begin
P := PEventMsg(lParam);
if P^.message = WM_MOUSEMOVE then
begin
SendDebug('Mausbewegung');
end
else if P^.Message = WM_LBUTTONDOWN then
begin
SendDebug('Linksklick');
end
else if P^.Message = WM_MBUTTONDOWN then
begin
SendDebug('Mittelklick');
end
else if P^.Message = WM_RBUTTONDOWN then
begin
SendDebug('Rechtsklick');
end
else if P^.Message = WM_MOUSEWHEEL then
begin
SendDebug('Mausrad');
end
else if P^.message = WM_KEYUP then
begin
SendDebug('Tastatur');
end;
end;
end;
Result := CallNextHookEx(0, nCode, wParam, lParam);
end;
Wenn ich mein Programm im Debug-Modus teste hängt sich bei bestimmten Aktionen die gesamte
IDE auf. Dann muss ich den
bds.exe abschießen und neustarten.
Im besten Fall friert das gesamte Windows ein (es bewegt sich nichts mehr und nimmt keiner Eingaben entgegen). Dann kann ich es wieder zum Auftauen bringen durch einen Druck auf STRG+ALT+ENTF
Hat Jemand eine Ahnung was ich da tun kann?