// 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;
|