| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Узнать, что система полностью загружена. |
| Автор: En_t_end 22.9.2005, 13:04 |
| Сабж. Возникла такая необходимость из-за специфики программы, то есть мне надо продолжать работу программы только после того, как я узнаю, что система и все компоненты полностью загружены. |
| Автор: _hunter 22.9.2005, 13:18 |
| простейший вариант -- засунуть в авто-ран мелкую програмку, которая при запуске будет ставить какой-нить флаг ( тот же mutex ) а основная будет этот флаг проверять. ( запуск программ из автозагрузки выполняется в самую последнюю очередь ) |
| Автор: En_t_end 22.9.2005, 13:22 |
| _hunter У меня уже была такая мысля, но тогда, случайно или специально удалив из автозагрузки эту мелкую программу можно вызвать необратимые последствия в работе нужной мне программы. Добавлено @ 13:27 Кстати ведь существует какой-то синхронизационный ресурс или флаг, ведь как-то система определяет что все загружено и можно загружать программы из автозагрузки. |
| Автор: _hunter 22.9.2005, 13:29 |
| тогда при запуске основной программы ( я так понимаю она до этого запускается ) пиши мелкую в авторан ( а при инициализации ее можно грохать ) можно еще и файл открыть ( дабы никто не удалил специально ( хотя не знаю откроется ли она тогда... ) ) Добавлено @ 13:30 есть у меня подозрение что этот флаг приватный... |
| Автор: En_t_end 22.9.2005, 13:35 | ||
_hunter
О, а вот до этого не додумался Спасибо! Но все же если флаг не приватный, хмм.. жду предложений. |
| Автор: Romikgy 22.9.2005, 14:46 |
| Плюс к авто-рану можно еще привязать задержку по времени |
| Автор: nikitao 22.9.2005, 16:40 | ||||
1.Ну гипотиза конечно:можно попробывать с помощью code injection в область Explorerа записаться или в другую служебную программу,тогда прцесс будет не убить,а прогу эту(мелкую) не удалить(Тогда в автозагрузку не ярлык надо записывать). 2.Или вообще дигерский способ:эту мелкую прогу записать в Windows вместо какой-нибудь служебной,а служебную куда-то переместить и запускать при инициализации мелкой.(в автозагрузку ее писать не надо ,сам windows запустит)+1 способ чтоб процесс не отключить. ЗЫ Не судите строго если глупость сморозил.
|
| Автор: SergeCpp 22.9.2005, 16:56 |
| Autoruns запускаются из explorer.exe |
| Автор: _hunter 22.9.2005, 17:11 |
| что они оттуда запускаются -- и так известно. задача отловить момент полной загрузки explorer.exe... |
| Автор: Mayk 22.9.2005, 17:57 | ||
А в чём именно заключается такая специфика? Нельзя ли, скажем, просто дождаться появления определенного процесса/окошка? зы. ну не верю я, что notepad прописанный в авторан, важен для твоей проги. |