Hmm...
Man könnte doch das Rückstellen der Uhr feststellen, indem man den aktuellen Timerwert mit dem des "Aktivierungstages" vergleicht. Das muss man doch sowieso! Bei (vor) jeder Ausführung wird der aktuelle Zeitwert mit in eine Datei gespeichert und dann verglichen. So kann man feststellen, dass die 30 Tage rum sind, oder dass ein gespeichertes Datum/Uhrzeit nicht in die Reihenfolge passt. Also die Reihenfolge, dass eine Ausführung der .exe zeitlich gesehen nur nach der vorangegangenen ausführung passieren kann. Nette Datei!
01.01.2007/12:00:01
01.01.2007/13:00:22
OK!
05.07.2007/11:19:45
OK!
01.01.1989/00:00:00
BOINK!
Einzige (maximale) Möglichkeit wäre es dann, vor Ausführungsbeginn immer die Systemzeit um eine Sekunde nach vorne zu stellen, um den Vergleich zu tricksen. Aber das muss man erstmal wissen, und vorallem allen ernstes tun wollen. Wenn man die Zeit vom Schliessen des Programmes auch noch mit abspeichert, wirds für Trickser noch kritischer.
Sonst mach doch nicht 30 Tage-Version, sondern eine nur 300 x ausführbare?
Oder besser eine Version, die nur 2 Stunden lauffähig ist, und dann neu gestartet werden muss. Das kannst Du dann ohne Trickschance machen.
Gruß!