![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
![]()
Для отслеживания изменения вручную даты/времени отлавливаю сообщение message WM_TIMECHANGE. Как отловить смену системной даты при естественной ее смене, то есть при наступление полночи? Есть какие-нибудь варианты кроме как в таймере (TTimer) сравнивать даты?
Последний раз редактировалось garuna; 27.01.2015 в 13:35. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
![]()
мне нужно чтобы программа отреагировала на наступление новой даты без участия пользователя.
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
В планировщик задач закинуть не вариант?
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.04.2013
Сообщений: 180
|
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
![]()
Планировщик задач хорошая идея, но у меня только при помощи командной строки получается так сделать в делфи.
И еще где то слышал теорию- можно просто программно скопировать файл который создает планировщик (сделать в нем измерения если надо), а затем его просто создать в той же папке в которй и брали и с тем же расширением, но при помощи делфи уже. |
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
А зачем ей это делать? Есть прерывания таймера, но сама винда делает это по требованию - т.е. по WM_TIMER сообщению, и только тем кто заказал такой отсчет. Произвольно она это сообщение рассылать прогам не станет.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,596
|
![]()
Можно таймеру поставить интервал, равный оставшемуся до полуночи времени. Есть пара проблем: 1. если пользователь сменит системное время, то программа это упустит; 2. таймер может не совсем точно сработать.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#9 |
Заблокирован
Регистрация: 24.11.2014
Сообщений: 721
|
![]()
Интересно, как программа будет отличать смену дат, когда компьютер выключен, от смены дат в BIOS? Или постоянно настраивать программу на одну сессию WIN?
Как вариант, отследить текущее время, и время работы ОС. Сделать синхронизацию в памяти. Как только время/дата рассинхронизируется с часами процессора, значит была произведена ручная смена времени. Проверять синхронизацию в этом случае можно хоть раз в 5 минут. Так же нужно учесть синхронизацию часов с интернетом. Как вариант, отключить соответствующую настройку Windows программно при старте программы, и включить обратно при завершении. Последний раз редактировалось WinCoder; 28.01.2015 в 00:57. |
![]() |
![]() |
![]() |
#10 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,596
|
![]()
Нет никаких проблем следить в отдельном потоку, проверяя дату раз в секунду или реже (в зависимости от требуемой скорости реакции). Нагрузки на ЦП будет минимум.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как лучше отследить смену активного окна в Windows? Delphi | ProstoK | Помощь студентам | 1 | 19.04.2012 08:09 |
Как сделать так чтобы не отображались даты Даты вместо Цифр в ЕКСЕЛЬ? | d88n | Помощь студентам | 1 | 17.06.2011 05:16 |
Как сделать в Excel 2007 автоматическую смену ячейки | YooJen | Microsoft Office Excel | 4 | 05.10.2010 08:14 |
GLScene, как сделать смену дня и ночи? | Alex2009 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 5 | 16.09.2009 20:16 |
Как перехватить программно смену пользователя | ale_krolik | Win Api | 1 | 15.12.2006 20:15 |