Hallo Euklid, Danke für Deine Antwort!
Mit TIdleTimer habe ich es schon versucht, aber der fängt mir nur die Idle Time
meines Programms ab, also wenn die Maus nicht über dem Form ist, aber immer noch aktiv, dann wird das trotzdem als Idle gewertet. Das selbe mit Tastatureingaben.
Das mit "w" wäre eine Idee, aber das zu parsen ist ja die Hölle! Glaub nicht, ob ich das hinkriege...
Viele Grüße, Meister0815
EDIT:
Hab gerade versucht, mit "w" zu arbeiten. Nur leider wird meine Abfrage von "w" als Bash-Aktion gewertet und der Idle-Wert sofort zurückgesetzt.
Mein Code:
Code: Alles auswählen
function CheckW: Boolean;
var aProcess: TProcess;
sl : TStringList;
i: Integer;
begin
Result := false;
aProcess := TProcess.Create(nil);
try
aProcess.CommandLine := 'w';
aProcess.Options := aProcess.Options + [poWaitOnExit, poUsePipes];
sl := TStringList.Create;
try
aProcess.Execute;
sl.LoadFromStream(aProcess.Output);
Form1.Memo1.Lines:=sl;
Result:= true;
finally
sl.Free;
end;
finally
aProcess.Free;
end;
end;