![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Информация о процессе
maxistent © (2006-09-15 20:27:00)Всем привет! Есть у меня список процессов (EXE-name + id).
Вопрос: Как получить по id процесса след. данные:
1) используемая память (как в Диспетчере задач)
2) HandleCount (у этого процесса)
3) ThreadCount (у него же)
Необходимо, чтобы это работало в WinXP, Win 2000, WinNT.
примечание: у меня есть исходничОк, в котором всё это реализовано (используется функция NtQuerySystemInformation), но РАБОТАЕТ ТОЛЬНО НА WinXP, что, собственно, не устраивает...
maxistent (2006-09-17 11:04:00) [1]Ладно, c GetProcessMemoryInfo я разобрался вроде бы... А как получить такие данные, как кол-во дескрипторов у просесса (HandleCount) и кол-во потоков (ThreadCount) у него же? Или общее их кол-во в системе на тек. момент?
Ketmar (2006-09-16 15:57:00) [2]> [9] Eraser © (16.09.06 13:09)
наверное, кучу непонятных буржуйских букавак. %-)
Eraser (2006-09-16 13:09:00) [3]> [8] maxistent © (16.09.06 02:38)
а что MSDN говорит?
maxistent (2006-09-16 02:38:00) [4]Вот, нашел кое-что:
(модуль PSApi)
function GetProcessMemoryInfo(Process: THandle; ppsmemCounters: PPROCESS_MEMORY_COUNTERS; cb: DWORD): BOOL;
Но как её корректно использовать? мож хто пацкажит?
Eraser (2006-09-16 01:27:00) [5]> [6] maxistent © (16.09.06 01:22)
1. можно - через NtQuerySystemInformation.
2. почему не можешь?
maxistent (2006-09-16 01:22:00) [6]А без WMI можно как-нить обойтись? Ну не могу я им воспользоваться...
Eraser (2006-09-16 01:08:00) [7]> [4] maxistent © (16.09.06 01:03)
там вроде написано где -
После того, как вы установили WMI SDK, импортируйте следующие библиотеки типов:
Active DS Type Library (Version 1.0)
Microsoft WMI Scripting v1.1 Library (Version 1.1)
Отлично, теперь в палитре компонентов у вас появились новые элементы, которые мы и будем в дальнейшем использовать.
maxistent (2006-09-16 01:03:00) [8]Там везде "WbemScripting_TLB.PAS" <- А где это взять?! Там "TSWbemLocator" и прочая хрень... У меня даже таких модулей нету, млин...
Eraser (2006-09-16 00:13:00) [9]> [2] maxistent © (15.09.06 23:57)
второй пример http://www.delphikingdom.com/asp/viewitem.asp?catalogid=698
maxistent (2006-09-15 23:57:00) [10]А можно поподробнее? Может есть кусочек кода?
Eraser (2006-09-15 22:03:00) [11]> [0] maxistent © (15.09.06 20:27)
> Как получить по id процесса след. данные:
через WMI.