Seite 1 von 2
PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 16:58
von HemSA
Hallole,
habe mal vor langer Zeit einen kurzen Kodeschnipsel gesehen wo man die Einschaltzeit vom PC ermittlen kann.
Hat da jemand noch den Link, habe es mit der Suche probiert, kam aber nichts zurück was ich suche.
Danke schon mal.
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 18:31
von mk-soft
Eben mal auf die schnelle
Windows Only:
Code: Alles auswählen
; Retrieves the number of milliseconds that have elapsed since the system was started.
Import ""
GetTickCount64()
EndImport
Procedure WindowsStartTime()
Protected r1, ElapsedTime.q
ElapsedTime = GetTickCount64()
r1 = Date() - ElapsedTime / 1000
ProcedureReturn r1
EndProcedure
Debug FormatDate("%YYYY.%MM.%DD %HH:%II:%SS", WindowsStartTime())
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 19:15
von jacdelad
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 19:56
von Macros
Äquivalente Funktionen für Linux:
Die Uptime auslesen und von der aktuellen Zeit abziehen:
Es werden zwei Werte in /proc/uptime angegeben, der erste sind die Sekunden seit Start, der zweite die Sekunden in denen das System auch lief.
Wir wollen nur den ersten.
Code: Alles auswählen
Procedure LinuxStartTime()
Protected file, time = -1
file=ReadFile(#PB_Any,"/proc/uptime")
If file
time=Date()-Val(StringField(ReadString(file),1," "))
CloseFile(file)
EndIf
ProcedureReturn time
EndProcedure
oder in UTC:
Hier fragen wir wann das immer beim booten erstellte Dateisystem /proc erstellt wurde.
Code: Alles auswählen
Procedure LinuxStartTime()
Protected prog, time
prog=RunProgram("stat","-c %Z /proc/","",#PB_Program_Read|#PB_Program_Read|#PB_Program_Open)
time=Val(ReadProgramString(prog))
CloseProgram(prog)
ProcedureReturn time
EndProcedure
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 20:48
von HemSA
Hallole,
erst mal danke.
Habe Windows.
mk-soft, ich bekomme da immer unwirkliche Werte. Mal Juli, mal 1 Stunde vor meiner Zeit obwohl der PC schon seit morgen (seit 14 Stunden an ist)
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 21:29
von RSBasic
Re: PC Einschaltzeit ermitteln
Verfasst: 21.08.2023 22:28
von HemSA
Hallo RSBasic,
ich bekomme da immer eine Fehlermeldung: Linker error.
Werde es morgen mal mit einer aelteren PB Version probieren.
Bei der 6.01 Version schlaegt immer der Virenscanner an, vielleicht hat Version 6.02 auch noch andere Probleme.
Danke jedenfalls schon mal.
Re: PC Einschaltzeit ermitteln
Verfasst: 22.08.2023 10:37
von HemSA
Hallo mk-soft,
auch mit der Version 5.73 habe ich falsche Werte.
2023.07.14 23:08:50
Und das obwohl ich den Laptop erst heute Morgen eingeschaltet habe.
Mit Debug GetTickCount64() bekomme ich 3326490640 also ca 38 Tage was auch mit dem Ergebnis übereinstimmt.
Mit Debug ElapsedTime.q bekomme ich den Wert: 0 was ich nicht verstehe, es sollte ja der gleiche Wert wie
Debug GetTickCount64()sein oder?
Ich habe dann auch alle ElapsedTime in ElapsedTime.q umbenannt was aber am Ergebnis kein Unterschied macht.
Irgendwie stehe ich da gerade auf dem Schlauch.
Danke schon mal für die Tips.
Was die anderen Beispiele angeht habe ich immer den Fehler:
PureBasic - Linker error
POLINK: fatal error
Re: PC Einschaltzeit ermitteln
Verfasst: 22.08.2023 11:08
von H.Brill
Wenn es für Windows sein soll und die CMD-Konsole kein Hindernis ist :
systeminfo | find "Systemstartzeit" > Zeit.txt
> Zeit.txt schreibt sie in die Datei. Kann man aber auch weglassen
und die Konsole auslesen.
Re: PC Einschaltzeit ermitteln
Verfasst: 22.08.2023 11:32
von HemSA
Hallo H. Brill,
Danke, aber das ist jetzt mal ein Dreck.
Wenn ich nur mal systeminfo eingebe steht da tatsaechlich: System Boot Time: 14.07.2023, 23:08:49 drin.
Wie kann das sein, wenn ich den Rechner jeden Tag ganz herunterfahre?
Danke nochmal für den Tip, dachte immer es stimmt was nicht obwohl alles richtig funktionierte. Da soll man erst mal draufkommen.
Auf meinem Firmenrechner zeigt es die richtige Zeit an, heute Morgen.