// Mit dem folgenden Code kann man feststellen, wie lange der User keine Taste
// gedrückt hat bzw. die Maus nicht bewegt hat. Im Beispiel wird alle 5 Sekunden
// bei Untätigkeit ein BEEP ausgegeben.


// Getestet mit D4 unter XP

var 
  reaktion: cardinal = 5; // 5 Sekunden 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  Timer1.Interval := 1000; 
  Timer1Timer(Timer1); 
end; 
 
function noUserAction: Cardinal; 
var 
  Info: TLastInputInfo; 
begin 
  Info.cbSize := SizeOf(Info); 
  GetLastInputInfo(Info); 
  result := (GetTickCount - Info.dwTime) div 1000; 
end; 
 
procedure TForm1.Timer1Timer(Sender: TObject); 
var 
  crd: Cardinal; 
begin 
  crd := noUserAction; 
  // label1.caption := 'Seit ' + inttostr(crd) + ' Sekunde(n) keine Reaktion.'; 
  if (crd > 0) and (crd mod reaktion = 0) then beep; 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke