Вниз
Скачать: CL | DM;

Как мне отследить изменение числа процессов в системе?   Найти похожие ветки 

← →
__max__   (2005-01-13 11:00) [0]

Как мне отследить изменение числа процессов в системе? Есть варианты такие: 1) Создать таймер и с каким-либо интервалом получать имена процессов с помощью ф-й Process32First, Process32Next 2) Использовать хук на WH_CALLWNDPROC или WH_CALLWNDPROCRET. Процедура вроде такой:
LRESULT CALLBACK WndRetProc (int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0)
 return CallNextHookEx (hWndRetHook, nCode, wParam, lParam);

PCWPSTRUCT msg = (PCWPSTRUCT)lParam;
if (msg->message == WM_CREATE)
{
 <...>
}

return 1;
}

Но это плохой вариант так как при каждом создании не только главного диалога окна но и любого другого вызывается эта функция.

Есть ли у кого-нибудь предложения по моему вопросу?


← →
Игорь Шевченко ©   (2005-01-13 11:18) [1]

Создать таймер и перечислять процессы - проще всего. Task Manager так и делает.


← →
Digitman ©   (2005-01-13 12:58) [2]


> __max__  


если подходить к ответу на вопрос ч.н. "в лоб" (т.е. как заставить саму ОС оперативно извещать прикл.задачу об изменениях в списке процессов), то без драйвера режима ядра не обойтись (см. соотв.статью и пример на wasm.ru)

иначе - см.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
1-1108254422
Дмитрий В. Белькевич
2005-02-13 03:27
2005.02.27
Глюки system.pas


14-1107500752
Zhekson
2005-02-04 10:05
2005.02.27
время ожидания Scandisk_а в XP


11-1092485443
=Sniper=
2004-08-14 16:10
2005.02.27
RichEdit1 := (Sender as TKolRichEdit); как будет в KOL?


14-1107432469
Ega23
2005-02-03 15:07
2005.02.27
Я плакал!


1-1108476788
Юрий
2005-02-15 17:13
2005.02.27
Подскажите насчет точки и запятой




   Наверх