Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Вниз

Системное время   Найти похожие ветки 

 
Clift   (2003-12-14 00:27) [0]

При определённых настройках действия которые выполняет програма полностью зависят от Timer
Как на время работы программы запретить пользователю
изменять системное время.
p.s. Подозреваю что это нужно реализовать через API но в соответствующем форуме "тишина", подскажите
с помощью какой функции это можно выполнить.


 
Clift   (2003-12-14 02:39) [1]

?


 
REA   (2003-12-14 10:38) [2]

Да пожалуй никак. Можно это наверно отловить и попросить так не делать. В принципе он имеет право время поменять.


 
Clift   (2003-12-15 15:58) [3]

>REA ©
Я же несобираюсь лишать возможности изменять таймер навсегда, а лишь на время работы программы.


 
cpp   (2003-12-15 16:02) [4]

Создать Hook на процедуры API, при помощи которых осуществляется изменение времени. Мы перехватим обращение к этой процедуры, и взависимости от желания, может выполнить её или нет.
Я не знаю какую функцию нужно перехватить - я предлагаю идею в каком напррравлении двигаться


 
clift   (2003-12-15 16:04) [5]

>cpp
Ну напровление и я знаю!А вот функцию незнаю.


 
Sha   (2003-12-15 16:12) [6]

Используй счетчик тактов процессора. Здесь это уже было. Поищи.


 
Agent13   (2003-12-15 16:13) [7]

В принципе несложно узнать о том, что время было изменено (по-моему сообщение называется WM_TimeChange). Так может можно его отлавливать и обратно менять или ещё чё в этом роде :) Или так не пойдёт?


 
clift   (2003-12-15 16:25) [8]

>Agent13
Ситуация примерно такая
Если настроить программу то она каждую минуту(зависит от настроек)автоматически при истечении времени нажимает на кнопку
и снова запускает таймер, если минута истекла то кнопка снова нажимается. Если пользователь нажал кнопку сам то таймер также обновляется.
А проблема в том что минута времени отсчитывается от Now (после нажатия) отнимается текущие время.Понятно что если изменить текущее время таймер в программе также изменяется.
А это уже "неправильная работа программы"


 
Рамиль   (2003-12-15 16:29) [9]

А минуту времени по человечески отсчитывать нельзя что ли?
Timer.Interval := 60000;

Или, тогда уж, не now а GetTickCount


 
Agent13   (2003-12-15 16:43) [10]

2Рамиль

Точно. GetTickCount возвращает время, которое прошло после запуска системы, а уж его точно принудительно не изменишь и не подделаешь. :)


 
clift   (2003-12-15 16:46) [11]

>Рамиль ©
Использовать Интервал из-за некоторых особенностей невозможно
а вот GetTickCount стоит попробовать...


 
}{enon   (2003-12-15 17:24) [12]

Попробуй ловить сообщение WM_TIMECHANGE и изменять "нулевое время".



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
11-86328
Юрий
2003-04-11 15:55
2003.12.26
Application - свойства и методы?


3-86274
MicroWorld
2003-12-03 11:28
2003.12.26
настройка IB


1-86393
AntonVS
2003-12-15 12:06
2003.12.26
программно добавить TabSheet на PageControl


14-86505
Агент Смит [8]
2003-12-03 14:53
2003.12.26
---|Ветка была без названия|---


6-86465
axx
2003-10-30 08:32
2003.12.26
Не откажите в консультации по сокетам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский