Anch'io!
Comunque non vedo come un linguaggio di livello più alto avrebbe potuto snellire questo codice
Malfidente... =)
codice:
import win32api
import time
from datetime import datetime, timedelta
wait_time = 2
while 1:
first_time = win32api.GetSystemTime()
(year, month , dayOfWeek , day , hh , mm , ss , ms) = first_time
dtA = datetime(year, month, day, hour=hh, minute=mm, second=ss) - timedelta(seconds=0)
time.sleep(wait_time)
second_time = win32api.GetSystemTime()
year, month , dayOfWeek , day , hh , mm , ss , ms = second_time
dtB = datetime(year, month, day, hour=hh, minute=mm, second=ss) - timedelta(seconds=wait_time)
if dtB != dtA:
print "A time difference was found!"
print "Resetting system clock to original time state of %s secs ago." %wait_time
(year, month , dayOfWeek , day , hh , mm , ss , ms) = first_time
win32api.SetSystemTime(year, month , dayOfWeek , day , hh , mm , ss , ms)
Il programma checka l'orologio di sistema ogni 2 secondi. Se passatato tale tempo l'ora è diversa da "ora precedente" + 2 secondi, il programma setta l'orologio di sistema a "ora precedente".
Non ho implementato le mailslot (che roba è?) e registrato il processo come servizio come hai fatto tu, ma penso che si evinca lo stesso chiaramente la maggiore produttività rispetto a C/C++ di cui ti parlavo prima.