Я думаю, что единственный способ сделать это, как правило, состоит в том, чтобы ваше приложение вызывало что-то в отдельном процессе, который продолжал бы выполняться и отслеживал дату / время, даже если основное приложение было закрыто. Когда он был перезапущен, он подключался к запущенному процессу, чтобы узнать, истек ли пробный период.
Конечно, это будет работать только в том случае, если компьютер никогда не перезагружался, а пользователь никогда не выслеживал ваш порожденный процесс и не убивал его, что весьма маловероятно. Если ваше приложение не связано с IO (файловая система, реестр, что-то в сети и т. Д.), То простой перезапуск сотрет все, что вы сделали.
Итак, подведем итог: на самом деле это невозможно.