Thema: Delphi PC "AN ZEIT" auslesen

Einzelnen Beitrag anzeigen

BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#1

PC "AN ZEIT" auslesen

  Alt 1. Apr 2008, 23:08
Hallo Leute,
ich weiß nicht ob ihr das kennt. LAN Party o.ä. da habt ihr sicher auch schon einmal den Satz gehört: "Ihr sitzt doch nur das ganze Wochenende vorm Rechner".
In Wahrheit sieht das ganze ja 'etwas' anders aus. Aber da mich generell mal interessieren würde, wie lange man der Rechner an ist und wie lange man ihn auch benutzt wollte ich ein Programm dafür schreiben.
Eine kleine Grundlage dafür habe ich schon geschaffen.

Mit folgender Procedure lese ich die Zeit aus, die der PC schon eingeschaltet ist.

Delphi-Quellcode:
procedure GetWindowsUpTime(var ADay, AHours, AMinutes, ASeconds: Integer);
const
  OneDay : Integer = 1000 * 60 * 60 * 24;
  OneHour : Integer = 1000 * 60 * 60;
  OneMinutes : Integer = 1000 * 60;
  OneSecond : Integer = 1000;
var
  Start : Integer;
  d, h, s: Integer;
begin
  Start:=GetTickCount;
  ADay:=Start div OneDay; //Tage
  d:=Start mod OneDay;
  AHours:=d div OneHour; //Stunden
  h:=d mod OneHour;
  AMinutes:=h div OneMinutes; //Minuten
  s:=h mod OneMinutes;
  ASeconds:=s div OneSecond; //Sekunden
end;
Und mit

Delphi-Quellcode:
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
  Tage, Stunden, Minuten, Sekunden: Integer;
begin
  GetWindowsUpTime(Tage, Stunden, Minuten, Sekunden); //Laden der Zeit
  lblUpTime.Caption:=Format(' %d Tagen, %d Stunden, %d Minuten und %d Sekunden', [Tage,Stunden,Minuten,Sekunden]) //Ausgabe der Zeit
end;
Wird die Zeit auf einem Label ausgegeben.
Nun habe ich aber ein Problem. Und zwar will ich wissen, wie lange ich den PC auch benutze.
Ich habe mir das so vorgestellt, das ich einfach gucke ob die Maus benutzt wird oder nicht. Und jeweils ein Abstand vom benutzen bis nicht benutzen von 1 Min oder so (frei wählbar!!!) bewahrt wird, bist angefangen wird zu zählen. Dann habe ich ja die Zeit in der ich aktiv bin.
Die Zeit der inaktivität kann man dann ja einfach ausrechnen.
Zitat:
Gesamtzeit - Aktive Zeit = Inaktive Zeit
Oder gibt es da ein Problem?!
Des weiteren will ich einmal eine Art Stoppuhr einbauen, sprich wenn man auf Start und Stopp klickt wird gezählt und dann soll noch eine Funktionen hinzukommen, wenn ein bestimmtes Programm läuft, wie lange das läuft. Das soll dann auch beim nächsten Start weiterzählen und nicht wieder bei 0 anfangen.

Im Anhang hab ich mal ein Screenshot der Alphaversion, das soll helfen, das ihr mein Anliegen versteht!
Über die Optik etc können wir später nochmal sprechen, es geht mir erstmal um die Funktionen!
Miniaturansicht angehängter Grafiken
ontim3_422.jpg  
  Mit Zitat antworten Zitat