|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.02.2014, 18:58 | #1 |
Пользователь
Регистрация: 13.03.2012
Сообщений: 11
|
контроль времени
помогите пожалуйста уже всю голову сломал, задача такая нужно не дать пользователю сменить системное время. сразу я хотел чтоб программа брала системное время и продолжала считать сама периодически проверяя совпадает ли ее таймер с системным временем если нет то корректировать, таким образом пользователь поменяв время получит облом так как программа вернет обратно его. но у меня не получается продолжить его, скрипт сбрасывает все по нулям, или мб есть какой другой способ
Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 06.02.2014 в 22:28. |
06.02.2014, 22:35 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
если речь идёт о Windows, то гораздо надежней отобрать у пользователя права на изменение системного времени.
Например, создайте учётную запись с правами "Пользователь", зайдите в систему под этим пользователем и убедитесь, что сама операционнка не даст пользователю изменить системную дату и время! ну, что же касается вашего подхода, то с таймером Вы по любому выбрали провальный путь...имхо, разумеется... |
06.02.2014, 23:02 | #3 | |
Пользователь
Регистрация: 13.03.2012
Сообщений: 11
|
Цитата:
|
|
06.02.2014, 23:04 | #4 |
Форумчанин
Регистрация: 21.01.2012
Сообщений: 240
|
Можно, например, получить при старте программы:
а) текущее время (обычное там через Now()) б) количество миллисекунд с момента запуска Windows через winapi-функцию GetTickCount. И потом когда нужно узнать переводил ли пользователь часы или нет - просто запросить еще раз GetTickCount, и разница между текущим GetTickCount и запомненным на старте GetTickCount - должна быть в точности равна изменению времени на часах с момента старта. В любом случае даже с переведенными часами можно восстановить текущее время, прибавив к стартовому datetime-времени количество прошедших миллисекунд. А еще можно через компоненту TidNtp запрашивать интернет-время с любого ntp-сервера и синхронизовать комповские часы с этим временем. Тогда хоть обпереводись - сервер-то чётко работает, его не переведешь (правда должен быть инет подключен и сервер не в оффлайне). |
07.02.2014, 00:05 | #5 | |
Пользователь
Регистрация: 13.03.2012
Сообщений: 11
|
Цитата:
|
|
07.02.2014, 00:15 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну и прогу вашу они еще быстрей раскусят
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.02.2014, 00:26 | #7 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
а время биоса не вариант? я не знаю как его достать, но кажется оно не меняется программно, из по ОС
|
07.02.2014, 00:36 | #8 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,873
|
|
07.02.2014, 00:40 | #9 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
я ничего особо не знаю о том как устроено время на компе, просто предложил. поправьте если ошибаюсь
|
07.02.2014, 00:42 | #10 |
Пользователь
Регистрация: 13.03.2012
Сообщений: 11
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод времени и выходного дня вместо времени | Mikesh | PHP | 2 | 31.01.2014 00:22 |
WinAPI синхронизация времени с сайтом точного времени. | Walker32 | Помощь студентам | 4 | 07.06.2012 18:59 |
контроль заголовков | spydark91 | Общие вопросы Delphi | 4 | 15.06.2011 21:27 |
Контроль памяти | FW-TOT | Помощь студентам | 2 | 15.11.2008 14:04 |
Контроль принтера | Noor | Общие вопросы Delphi | 0 | 06.11.2008 20:43 |