Il programma è già in fabbricazione... Il nucleo centrale è scritto, ora devo implementare un po' di funzioni accessorie, come quelle per abilitare/disabilitare il programma usando i mailslot.

Il programma in questione appena avviato entra in un loop infinito; all'inizio di questo loop chiede al sistema l'ora, quindi blocca il suo thread per 5 secondi (tempo modificabile); se dopo questa pausa l'ora non è quella precedente più 5 secondi (con tolleranza del 10%), reimposta l'ora al valore che aveva memorizzato prima della pausa, aggiungendoci 5 secondi. In questa maniera ogni volta che si modifica l'ora il programma lo rileva e la riporta ad un valore corretto. Il programma è in grado di nascondersi al task manager di Windows 9x/ME spacciandosi per un servizio di sistema (ma effettivamente non è proprio una balla ). Ora sto scrivendo il codice più complesso, ossia un sistema basato sulle mailslot che consenta di disattivarlo quando si vuole cambiare l'ora.
Il programma viene attivato all'avvio del sistema, e per disattivare la "protezione ora" basta digitare al prompt dei comandi "timestop terminate"; per riattivarla è sufficiente lanciare il programma digitando "timestop".
Importante: non digitare questi comandi in "Start->Esegui...", perché rimarrebbero memorizzati nella cache che Windows tiene dei comandi digitati in questa finestra.

Di seguito il codice principale del programma (manca il codice di lettura dei messaggi nella mailslot perché non l'ho ancora implementato):
codice:
(vedi post successivo)