Задача состоит в следующем: определить что ядро загружено каким-то процессом на 100% или около того.
Сделать это с минимальной нагрузкой на процессор, т.е. должно быть какое-то событие/сообщение подобного рода, по которому можно определить, что как бы не хватает вычислительных ресурсов.
Windows API это позволяет сделать?
Может быть есть какое-то сообщение, которое можно получить через GetMessage()?
Интересуют программные решения, т.е. как это событие можно отследить в своей программе?
4ainik, запускаешь планировщик заданий, создаёшь новое задание, выбираешь вызывать его по событию - "загрузка процессора"... подробнее будет только пошаговая инструкция, а не просто пинок в нужном направлении.
Ezhyg, да нет, есть проблема:
бывают тяжелые процессы которые тормозят всю систему, включая ядро и даже запущенный тасменеджер (windows xp) с высоким приоритетом тормозит при этом.
поэтому нужна программа, которая определила бы источник проблем, причем оперативно, а дальше я что-нибудь придумаю :)
4ainik, ну так а я, что предлагаю?!
Мало того, с помощью этого же планировщика можно не просто сообщить о нагрузке, а понизить приоритет оборзевшему процессу или заморозить его, автоматически, правда тут задание будет чуток посложнее.
4ainik, а ты сотри название программы в адресе и посмотри остальной список (обрати внимание на live в адресе). \\live.sysinternals.com\tools\ (ссылку открывать в проводнике)
или утилиты компании Sysinternals
Ezhyg, тот regmon очень старый, такой уже давно валяется на диске, но неоспоримое достоинство что он маленький, не требует установки и до сих пор работает :)
Вообще интересны механизмы отслеживания активности в реестре, как это делается? Подмена системных библиотек отвечающих за работу с реестром или есть какие-то штатные хуки?
4ainik, так потому я и даю ссылку и цитирую примечание, что он заменён :). У меня ведь тоже в папке с утилитами сисинтерналс лежат эти старые заменённые утилиты (как и набор утилит "ps*"), но новая утилита удобнее хотя бы тем, что всё в одном, можно и файлы мониторить, и реестр.
Насколько мне не изменяет склероз, просто перехват стандартных функций записи в реестр. Хотя для уточнения лучше интересоваться у Марка и Брюса, всякие статейки про это и вообще работу с виндой у них точно где-то лежат на сайте, я читал, но это не совсем моё, поэтому запамятовал :(.