![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск процедуры в определённое время [D6, 2000, XP]
Mishenka © (2008-05-12 10:56:00)Есть программа, которая висит в трее. Как сделать, чтоб она в определённое время (не через интервал, а в конкретно заданное время)выполняла определённую процедуру?
Renegat (2008-05-12 14:29:00) [1]WaitForSingleObject в отдельном потоке спасёт отца русской демократии? Ибо таймер каждые 100мс перезапускать - тоже не есть кул =)
Denis__ (2008-05-12 12:37:00) [2]
> Ну убери иконку из трея.
как же ж без иконки-то? Без иконки - не есть кул.
Anatoly Podgoretsky (2008-05-12 12:21:00) [3]> Mishenka (12.05.2008 10:56:00) [0]
Ну убери иконку из трея.
palva (2008-05-12 11:09:00) [4]Это невозможно.
Любое "конкретно заданное время" все равно будет "через интервал".
Сергей М. (2008-05-12 11:06:00) [5]
> Есть программа, которая висит в трее
Нет и не может быть такой программы.
В трее "висят" пиктограммы, а не программы.
> Как сделать, чтоб она в определённое время
А трей-то причем ?
Если бы не трей, то такой вопрос у тебя не возник бы ?
Программа после запуска создает и инициирует таймер с требуемой периодичностью срабатывания. В обработчике событий таймера запрашиваешь у системы текущее время, сравниваешь с заданным, если времена совпадают (с заданной погрешностью сравнения), запускаешь свою "определённую процедуру". И всех делов.
Рамиль (2008-05-12 11:04:00) [6]Создать задание в планировщике Windows и завершить свое ненужное существование.
ЮЮ (2008-05-12 11:02:00) [7]вычесть из Время X текущее время, тем самым получить нужный интервал.
> не через интервал, а в конкретно заданное время
Кстати, поглядывание время от времени на часы, тоже не худший вариант. Только не надо делать это каждые 10 мкс