Некая программа в которую я вмешиваться не могу, производит синхронизацию системного времени с интернетом. При этом получается так, что в результате синхронизации системное время может быть изменено более чем на одну секунду. Моя программа использует функцию сравнения по времени. При этом если системное время перепрыгнет значение с которым сравнивается, то события не происходит, а этого быть не должно. Возникает необходимость отлавливания факта изменения системного времени и проверки "перепрыга". Как отловить такой факт в Borland C++? Спасибо.
По задаче - что-то непонятно, чем вам эти перепрыги мешают? Ваша программа сравнивает некое запланированное время с текущим, как только текущее время первышает запланированное - происходит событие. И при чем тут изменения времени?
Конкретно по вопросу - смотрите событие WM_TIMECHANGE
rezident
Oct 8 2009, 20:18
Дык сравнивайте не на равенство, а на "больше или равно" и всех делов-то
Измеряйте разницу 2х времен в 2х точках (скажем, каждые 10с). Времена берите через GetTickCount и системное. Если эти разницы сильно разнятся

, то системное время было переведено (или откорректированно)