ich habe mir folgendes Script geschieben um den Start und das Beenden von Windows zu protokollieren. Leider bekomme ich den WM_ENDSESSION Event irendwie nicht mit. An was könnte das liegen.
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
import time
import winsound
import thread
from Tkinter import *
def Startup():
savefile = "c:/work/zeiterfassung/proto.txt"
YYYY,MM,DD,hh,mm,ss,dw,dy,x = time.localtime()
try:
fz = open(savefile, "a")
fz.write("PC Startup: " + str(DD) + "." + str(MM) + "." + str(YYYY) + " " + str(hh) + ":" + str(mm) + ":" + str(ss) + "\n")
fz.close()
except:
print "Konnte Datei nicht öffnen!"
def gettime():
YYYY,MM,DD,hh,mm,ss,dw,dy,x = time.localtime()
# kommentar
if ss == int(0) and mm == int(0) and hh == int(12) and dw < 4:
winsound.PlaySound("c:\scripts\SPEECH\Pause.wav",0)
if ss == int(0) and mm == int(0) and hh == int(9):
winsound.PlaySound("c:\scripts\SPEECH\SpielUnterbrochen.WAV",0)
def Shutdown():
print "Shutdown"
savefile = "c:/work/zeiterfassung/proto.txt"
YYYY,MM,DD,hh,mm,ss,dw,dy,x = time.localtime()
fz = open(savefile, "a")
fz.write("PC Shutdown: " + str(DD) + "." + str(MM) + "." + str(YYYY) + " " + str(hh) + ":" + str(mm) + ":" + str(ss) + "\n")
fz.close()
sys.exit(0)
"""print "Konnte Datei nicht öffnen!"
sys.exit(0)
return -1"""
def Main(mf, lblTimeDate):
while 1:
YYYY,MM,DD,hh,mm,ss,dw,dy,x = time.localtime()
if ss <= 9:
ss = "0" + str(ss)
if mm <= 9:
mm = "0" + str(mm)
if hh <= 9:
hh = "0" + str(hh)
if DD <= 9:
DD = "0" + str(DD)
if MM <= 9:
MM = "0" + str(MM)
DateAndTime = str(DD) + "." + str(MM) + "." + str(YYYY) + " " + str(hh) + ":" + str(mm) + ":" + str(ss)
lblTimeDate["text"] = DateAndTime
gettime()
time.sleep(0.8)
Startup()
mf = Tk(className="MyTime2.0")
mf.protocol("WM_ENDSESSION", Shutdown)
mf.protocol("WM_QUERYENDSESSION", Shutdown)
mf.protocol("WM_DELETE_WINDOW", Shutdown)
mf.geometry('300x30+0+0')
#mf.overrideredirect(1) # fenster ohne aussen rum :-)
mf.attributes('-alpha', 0.5) # fenster transparent
#mf.attributes('-topmost', 1) # fenster immer im vordergrund
lblTimeDate = Label(mf, text = "", font = "courier 20 bold")
lblTimeDate.pack()
thread.start_new_thread(Main,(mf,lblTimeDate))
mf.mainloop()
Danke für eure Hilfe
alpha