Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if MSG.message=WM_MouseMove then
begin
Timer1.enabled := false;
Timer1.enabled := true;
end;
if MSG.message=WM_KeyDown then
begin
Timer1.enabled := false;
Timer1.enabled := true;
end;
end;
Wobei ich den Timer nicht zurücksetzen würde sondern
z.B.
FLastAction := GetTickCount();
setzen würde
und im Timer checken ob GetTickCount - FLastAction > was auch immer Du vorhast.