Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: 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 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
1-1108130837
Sergeich
2005-02-11 17:07
2005.02.27
Вхождение точки в полигон


1-1108363253
Dmitry_04
2005-02-14 09:40
2005.02.27
Check в MainMenu и в PopupMenu


3-1107247230
ГС ТОФ
2005-02-01 11:40
2005.02.27
Что нужно сделать, чтобы программа СУБД заработала на другом ПК


3-1106664316
juice
2005-01-25 17:45
2005.02.27
Запрос к 2-м базам


1-1108021065
KingDog
2005-02-10 10:37
2005.02.27
вот знаете что то при n = 31 не считает