| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Мониторинг процессов |
| Автор: Dieselist 12.5.2008, 16:10 |
| Здравствуйте, уважаемые. Надо написать програмку для мониторинга запущенных процессов. Типа диспетчера задач, но чтоб она давала еще дополнительные сведения о процессе. Типа какой ресурс, как часто, что вызывал ... Вобщем полная статистика. На данный момент написал только програмку для вывода списка текущих процессов в листбокс. Если можно, пример, пожалуйста |
| Автор: Lazin 12.5.2008, 16:22 |
| открывай процесс через OpenProcess и получай все что хочешь : |
| Автор: Dieselist 12.5.2008, 17:06 |
| А можно, пожалуйста, чуть подробнее на эту тему? Что конкретно, и как, я смогу получить? Буду очень признателен за пример, или линк |
| Автор: Dieselist 13.5.2008, 01:41 |
| Нужно сделать возможность именно _мониторинга_ процессов. Получать инфу о том, что какой процесс сейчас делает, обращения к файлам, и в том же духе. Может кто-то поделиться идеями по поводу реализации такой проги? |
| Автор: dumb 13.5.2008, 02:14 |
| слишком много получится идей. черпай их, например, из исходников http://jacquelin.potier.free.fr/winapioverride32/. |
| Автор: Dieselist 18.5.2008, 20:51 |
| Уточню, что за программа мне нужна. Необходимо написать программку, для мониторинга процессов. Программа должна отображать процессы в виде дерева (т.е. показывать родительские процессы) и информацию по ним (как-то, размер в ОЗУ, сколько процессорного времени отъедает, приоритет). Также желательно сделать диаграммку (сродни той, что в таск менеджере), для просмотра текущей загрузки ЦП и памяти. Если нет желания писать код, подскажите, пожалуйста, хотя бы с помощью чего ее можно реализовать? Или алгоритм... |
| Автор: NYX 5.8.2009, 18:33 |
| Товарищи форумчане, а меня тоже интересует данная тема. Точнее меня интересует метод взятия информации о процессе по пиду, хэндлу или любому другому доступному идентификатору процесса. Как я понял из предыдущих сообщений, после получения хэндла через OpenProcess, над этим хэндлом мона как то колдовать и получать количество занимаемой памяти в ОЗУ. А сложив все объёмы процессов и сравнив их с максимально доступным объёмом ОЗУ, можно получить занимаемое место в памяти в процентах или выводить более подробную статистику.... Нашёл статейку, но на вижале. http://www.realcoding.net/article/view/2809 при желании можно рассмотреть для BCB |
| Автор: NYX 22.8.2009, 14:36 | ||
Этот код показывает в процентах, сколько занято места в ОЗУ...
Что бы узнать больше подробности о памяти нужно следовательно извлеч информацию из нужного члена MemInfo. Вот описание... dwLength Размер структуры dwMemoryLoad память в % dwTotalPhys физическая в байтах dwAvailPhys свободной физической аналогично в байтах dwTotalPageFile Файл подкачки (в байтах) dwAvailPageFile свободно в Файле подкачки (в байтах) dwTotalVirtual и dwAvailVirtual - думаю тут ясно про что идёт реч !!! Именно это я и искал !!! |
| Автор: XPyCT 28.8.2009, 20:17 |
| Идем в гугл и ищем книжку А.Я Архангельского Приемы программирования в С++ Builder 6 и 2006 Механизмы windows, сети у него все это очень красиво описано более того на диске есть уже готовый пример того что вам нужно |