В моей настольной программе я хочу проверить это, чтобы увидеть, установил ли пользователь свои часы назад.
Для этого я сравниваю метку времени определенных файлов операционной системы с текущей датой компьютера. Если что-то идет после того, что компьютер считает текущей датой, значит, он должен вернуть свои часы назад.
Для Windows XP я использовал такие файлы как:
c:\win386.swp
c:\windows\user.dat
and several others.
Два вопроса:
Это приличный способ сделать это, или есть что-то лучше?
(Предполагая, что ответ на вопрос 1 «приличный») Какие бы файлы Windows Vista и Windows 7 можно было сравнить с
Вывод: Приянк сказал нечто очевидное, что ускользнуло от меня: вместо того, чтобы использовать какие-либо системные файлы, самым простым и простым способом может быть просто использование метки времени самой вашей программы. В конце концов, дата его установки - это именно та дата, с которой вы хотите начать пробную версию.
Как выяснилось, ваши ответы и мои исследования других связанных вопросов StackOverflow и упомянутых статей привели меня к решению о гораздо более простой схеме. Мои пробные пользователи уже должны получить ключ для использования пробной версии. Я зарегистрировал дату, встроенную в ключ. Мне действительно не нужно проверять установку часов назад. Вместо этого я просто вижу, находится ли текущее время между зарегистрированной датой и зарегистрированной датой плюс n дней.
Если они хотят обойти эту схему, то пусть. Я согласен, что эти люди не будут платить в любом случае. Сделайте вашу программу чем-то стоящим, чтобы люди наслаждались ею и хотели ее использовать, а большинство заплатит