Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > "Слежка" за изменением системного времени компа


Автор: 3D-Dragon 16.2.2003, 11:43
Есть задача - запрещать дальнейшие действия в программе или записывать в log-файл действия оператора с системным временем компа.

Пример 1.
Оператор тупо переводит системное время назад во время работы проги и работает с ней дальше.

Здесь нет проблем это отследить smile.gif


Пример 2.
Оператор закрывает прогу.
Изменяет системное время на нужное ему.
Запускает прогу, производит определенные действия в ней.
Закрывает прогу.
Изменяет системное время на действительное.
Продолжет обычную работу с прогой.

Здесь уже я не могу четко отследить дейтсвия оператора т.к. прога вырубается sad.gif


Как программно организовать слежение за системным временем компа и в случае его изменения сообщить об этом ?
"Вариаций" извращенных действий оператора может быть множество для обхода, но мне нужны хотя бы некоторые пути решения.
Поделитесь, пож-та, опытом, если кто-то реализовывал подобные логические цепочки.

Автор: Vex 16.2.2003, 11:50
Я так понял, что это триал-прога? Когда запускается программа, то в лог файл пишеться текущая дата, сверяеться с предидущей датой, если текущая дата более ранняя чем предидущая, то, извините, HALT smile.gif

Автор: 3D-Dragon 17.2.2003, 06:04
Нет, это не trial прога.

Автор: Vit 17.2.2003, 06:15
Только сохранением текущего времени куда-нибудь и сравнении с текущим. Кроме того можно найти время загрузки системы.


Кстати - кверь какой-нибудь time-server, и бери время с него, если комп всё время в инете

Автор: Medved 17.2.2003, 10:32
Можно службу свою написать......

Автор: neutrino 17.2.2003, 17:36
WM_TIMECHANGED confused.gif Mojet pomojet ...

Автор: Vex 17.2.2003, 18:59
Цитата(neutrino @ 17.2.2003, 08:36)
WM_TIMECHANGED confused.gif Mojet pomojet ...

ИМХО, если бы прога постоянно рабтала, то помогло, а так прогу могут выключить...

Автор: 78125 17.2.2003, 22:45
А в какой ос это делается? может в NT можно ограничить пользователю доступ к системным настройкам?

Автор: neutrino 18.2.2003, 02:52
Цитата(Vex @ 17.2.2003, 17:59)
Цитата(neutrino @ 17.2.2003, 08:36)
WM_TIMECHANGED confused.gif Mojet pomojet ...

ИМХО, если бы прога постоянно рабтала, то помогло, а так прогу могут выключить...

Nu, esli vse tak obstoit, to nado sdelat' sistemnyi' process, kotoryi' budet lovit' WM_TIMECHANGED i "obxhat'sja s programmoi'.

Автор: X-Vlad 18.2.2003, 03:06
можно при закрытии проги текущее время себе в ехе записывать, а при старте проверять если время изменено то выйти из проги. (У меня есть компонент MXProtector он помоему так и делает).

Автор: 3D-Dragon 18.2.2003, 03:52
78125
Цитата
А в какой ос это делается?

Прога "всеядная" smile.gif

X-Vlad
Цитата
можно при закрытии проги текущее время себе в ехе записывать

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

Цитата
У меня есть компонент MXProtector

А что это за компонент ?
Можно подробнее ?

Автор: [auxx] 18.2.2003, 06:10
Цитата
можно при закрытии проги текущее время себе в ехе записывать, а при старте проверять если время изменено то выйти из проги. (У меня есть компонент MXProtector он помоему так и делает).

Интересно, как в виндах ты в свой ехе писать будешь? Тока если может из драйвера напрямую както.
А на компонент хотелось бы взглянуть

Автор: X-Vlad 18.2.2003, 07:57
поверь в ехе можна и в винде что-то засунуть..smile.gif

давайте мыло брошу компонент...

Автор: RA 18.2.2003, 08:22
Я кажись понял, что ты хочешь: Избежать вечного дня, тоесть того чтоб программа при каждом запуске думала что это тотже день в каторый она была запущенна первый раз.

Тут есть только один путь: Пропиши куданить в автозагрузку свою программу с параметром (HiDE), и поставь обработку запуска с этим параметром так чтоб при запуске она загружалась скрытно, определяла время, записывала его в лог и откидывалась.

Ну а далее всё путём

О том как пропихнуть программу в автозагрузку так чтоб её было очень трудно от туда выкинуть глянь в моём топике темы Автозагрузки

Автор: [auxx] 18.2.2003, 17:43
Цитата
поверь в ехе можна и в винде что-то засунуть..
давайте мыло брошу компонент...

[email protected]

Автор: [auxx] 18.2.2003, 17:48
Засунуть в ехе всегда можно. Просто в винде или из драйвера, или из другой проги, которая это пишет после выхода из главной

Автор: X-Vlad 18.2.2003, 22:02
Цитата

[email protected]


лови... там и демки есть...разберёшся..smile.gif

Автор: 3D-Dragon 19.2.2003, 02:25
X-Vlad
Цитата
У меня есть компонент MXProtector
давайте мыло брошу компонент...

Отправь, пож-та, на viktor[@]ua.fm

Автор: X-Vlad 19.2.2003, 04:10
Цитата

Отправь, пож-та, на viktor[@]ua.fm



отправил...

Автор: X-Vlad 19.2.2003, 04:55
Auxx and 3D-Dragon прошу проверить свое мыло потому что ко мне вернулась ответка что у одного из вас сервак непропускает ехе файлы ... пришлось зип заганять снова отослал вам обоим. Если всё пучком ;) прошу ответить..
спасибо.

Автор: 3D-Dragon 19.2.2003, 09:50
X-Vlad
Получил аж два раза smile.gif
Спасибо !
но у меня Delphi 7 ^(

Автор: X-Vlad 19.2.2003, 23:01
Цитата

но у меня Delphi 7 ^(

под дельфи 7 тоже подходит...

Автор: neutrino 20.2.2003, 03:54
Интересно... Я что-то не пойму принцип. Ну узнали дату первого запуска, потом прошло 2 месяца, а пользователь изменил дату так, как будто прошли две недели. И что? Прога будет работать. А дату прописать в свой и не свой файл - это пара пустяков, но это не решит проблему. Или я что-нибудь опять не понимаю ...

Автор: [auxx] 20.2.2003, 05:17
Блин. mail2k.ru - геморрой. Я то обрадовался - 50 мб дают.

Пошли на [email protected], если не тяжело

Автор: X-Vlad 22.2.2003, 00:51
Цитата
Блин. mail2k.ru - геморрой. Я то обрадовался - 50 мб дают.

Пошли на [email protected], если не тяжело


отправил...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)