|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 16, 2004 20:47:04 · Поправил: Kvazimoda Не подскажете ли глубокоуважаемый All как получше сделать периодический вызов процедуры. Например, если прога висит в трее и раз в час (сутки или неделю, а может вообще как-нибудь еще) показывает MessageBox, ну или что-то там делает. Единственное что приходит в голову - это виндовая функция invoke SetTimer,hWnd,nIDEvent,uElapse,offset TimerFunc, где TimerFunc соответственно сама процедура. Но мне кажется что это не есть хорошо. Хотелось бы, что бы ожидание минимум тормозило систему. Заране спасибо! |
|
|
Дата: Мар 16, 2004 21:12:10 Можешь использовать GetTickCount |
|
|
Дата: Мар 16, 2004 21:25:01 Kvazimoda Но мне кажется что это не есть хорошо Отнюдь. IMO, таймер - самое адекватное решение. |
|
|
Дата: Мар 16, 2004 22:26:47 · Поправил: PavPS Тут есть такая штука: когда вызываешь MessageBox?@16, возвращается управлениие только при нажатии на Ok и т. д. Т.е. если не нажать раз в час (такой период Call-а), то вылезет уже 2 MsgBox-a. Это всё дело можно синхронизировать ручками, но я бы предложил метод CreateThread@?, а потом Sleep. И никакого беспокойства. Хотя, ч-з час, без нажатия на MsgBox, это не появится. Но это тоже решается. А вот на счет загрезки системы, то может я и ошибаюсь, но присутствует всего лишь расход памяти на создание объектов (на CreateThread@?, конечно, побольше), а вот для ожидания Sleep вызывает KeWaitForSingleObject а потом вся эта вещь создает таймер. Конечно, посредственно, но что тут Timer, что там... |
|
|
Дата: Мар 17, 2004 00:14:15 CreateWaitableTimer |
|
|
Дата: Мар 17, 2004 02:21:22 · Поправил: Kvazimoda 2 PavPS: Про MessageBox я же говорил для примера. Мне надо делать архивную копию фалов на серваке. Просто прог в нете не нашел полностью удовлетваряющих требованиям (архивирование каждые 2 часа и сохранение последних N копий). Вот и решил сам написать. 2 rst: Спасибо, попробую. 2 Asterix: IMHO очень накладно крутить цикл @@: call GetTickCount cmp eax,SomeValue jbe @B |
|
|
Дата: Мар 17, 2004 04:03:24 Kvazimoda ... прога ... раз в час (сутки или неделю, а может вообще как-нибудь еще ... надо делать архивную копию фалов на серваке ... Чем не устраивает планировщик задач? |
|
|
Дата: Мар 17, 2004 11:49:27 2 q_q: Никогда им не пользовался, всегда отрубал в 98, а в 2000 я его и не искал. Но сейчас посмотрю чего он дает делать... |
|
|
Дата: Мар 17, 2004 23:33:45 · Поправил: Kvazimoda А не может ли кто-нибудь у кого сорцы винды есть посмотреть какой функцией майкрософт в планировщике задач узнает момент запуска задачи? Они-то наверное лучше знают. 2 volodya: Просьба не пинать, мне интересна только название API функции для таймера или х.з. чего они там используют, а не кусок исходника. |
|
|
Дата: Мар 18, 2004 14:28:26 Я тебе ведь дал уже название этой функции. |
|
|
Дата: Мар 18, 2004 20:48:46 2 rst: Большое спасибо! Мне было просто интересно чего у мелкомягких. А они случаем для нее CreateThread не используют? А то прога висит, если не в отдельном потоке WaitForSingleObject вызывать. |
|
|
Дата: Мар 18, 2004 20:55:20 почитай . там можно вообще через APC работать - т.е. будет вызываться CallBack |
|
|
Дата: Мар 18, 2004 21:38:53 Kvazimoda Как раз в данном случае пинать не за что. Кусок исходника... Ммм... Короче, на тебе taskman.c, а уж найдешь ли ты там, что ищешь, мне неведомо! 478147826__taskman.c |
|
|
Дата: Мар 19, 2004 09:08:31 · Поправил: Shift volodya Поосторожнее, пожалуйста.Ещё найдётся стукач в МС, что тут некий Володя из NCBI исходники постит...(тьфу-тьфу, конечно) |
|
|
Дата: Мар 19, 2004 17:56:20 Shift Если б не Ваш пост, то они и не узнали бы про NCBI :-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.056 |