Hallo Gemeinde,
aufgrund der strengen Auslegung bei uns im Betrieb, der gesetzlichen Pausenzeiten möchte ich mir einen Feierabendrechner erstellen.
Dazu ist es notwendig den Zeitpunkt des letzten Herunterfahrens zu ermitteln, weil ich oft morgens homeoffice mache und später ins Büro fahre.
Durch diese Teilung ist es mir leider öfters passiert, das ich über die 10-Std-Grenze gekommen bin. Ergo: Chef ist mörderböse
Ich habe es Dank Vorschlägen des Forums mit folgendem Code versucht:
Code
#include<Date.au3>
; Read Value
$RegVal = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows", "ShutdownTime")
$sShutdown = _filetime2str($RegVal)
MsgBox(0, "Shutdown", "Shutdown: " & $sShutdown)
; Read Value
Func _filetime2str($RegVal)
; Create a FileTime Struct (in bytes, so you can set value)
$FileTime = DllStructCreate("struct; dword hi; dword lo; endstruct")
; set data to struct
;set hi value
DllStructSetData($FileTime,1,Binary("0x"&Stringleft($RegVal,8)))
;set lo value
DllStructSetData($FileTime,2,Binary("0x"&StringRight($RegVal,8)))
; Convert to String
$String = _Date_Time_FileTimeToStr($FileTime)
return $String
EndFunc
Alles anzeigen
Laut dem Eventlog war aber dieser Zeitpunkt 7 min später. Also statt 14:40 wie obiger Code ergibt, 14:47 (UTC, etc. nicht mit eingerechnet).
Hätte jemand eine Idee wie ich den richtigen Zeipunkt des letzten Herunterfahrens sonst noch auslesen kann?