Как предотвратить изменение пользователем системной даты / времени (в Windows 7)? - PullRequest
3 голосов
/ 15 марта 2012

Поискав в Google, общий совет - создать стандартную учетную запись без прав администратора.

Я только что попробовал это. У меня была только одна учетная запись, моя собственная, которая является администратором, а затем создала вторую (не учетную запись гостя). Я вышел из своей учетной записи и в новую и попытался изменить время. Windows 7 открыла окно с вопросом, разрешит ли это моя основная учетная запись (и запросила пароль).

Мне сказали, что "невозможно изменить системную дату / время". Я намеревался поставить ПК только со стандартной учетной записью и моим ПО, но не могу (я думаю) помешать пользователю создать административную учетную запись и изменить дату / время.

Могу ли я предотвратить это программно от Delphi, или я просто должен сказать, что если пользователь хочет быть разрушительным, я не могу предотвратить это?

Ответы [ 2 ]

11 голосов
/ 15 марта 2012

Обычно такого рода ограничения устанавливаются с помощью групповой политики Windows

enter image description here

. В delphi вы можете использовать API групповой политики или Классы RSoP WMI .

4 голосов
/ 15 марта 2012

В вашем приложении вы можете обнаружить, что пользователь меняет системное время во время работы приложения.

Вы получите WM_TIMECHANGE при изменении системного времени.

При запуске вы можете сохранить gettickcount(Как StartTickCount) и сейчас (как StartTime).При проверке вы можете проверить, совпадают ли различия между тик-счетом и временем между ними (допускается небольшое расхождение), и узнать разницу.Однако, если пользователь меняет системное время вдали от вашего приложения, этот прием не работает.Возможно, у вас может быть служба, которая автоматически проверяет запуск для этого.

Если вам нужно вернуться к исходному времени, вот некоторые ресурсы: ИЗМЕНИТЬ ВРЕМЯ системы

Кстати, на уровне ОС обычный пользователь не может создать пользователя с правами администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...