Hallo Domi,
wenn dein einziges Problem ist, dass ein Datum umgestellt werden kann, dann prüfe auf Manipulation der Systemzeit.
Eine Möglichkeit Manipulationen an der Systemzeit zu erkennen wäre eine Prüfung gegen einen vertrauenswürdigen Zeitserver, dafür muss der Rechner am Internet sein.
Eine weitere Möglichkeit wäre es in einem der Windows Standardverzeichnisse mit Logdateien, Browser Cache und ähnlichen zu schauen, welches Datum die Dateien haben und ob dieses möglicherweise in der Zukunft liegt.
Eine weitere Möglichkeit, dein Programm speichert irgendwo (z. B. Registry), Datum und Uhrzeit des letzten Starts und prüft dieses.
Dann gibt es noch das EventLog, auch hier können Einträge Manipulationen der Uhrzeit aufdecken.
Eine Kombination von mehreren oder allen Prüfungen ist natürlich auch möglich.
Auf CodeProject gibt es einen Artikel dazu: Creating Secure Trial Versions for .NET Applications - A Tutorial
- Gruß Florian