Работа с процессами в С/С++. Основные приемы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: отчет о прохождении практики, моря реферат
| Добавил(а) на сайт: Фабиан.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
//здесь можно было вставить роскошный цикл for(....) но это
//не совсем удобочитаемо
//так что цикл while
while(bIsok)
{
//печатаем имя процесса, его идентификатор
//теперь, когда у нас есть структура ProcEntry
//То, какую информацию вы из нее возьмете, зависит
//только от задачи ))
printf("%s %un", ProcEntry.szExeFile, ProcEntry.th32ProcessID);
bIsok = Process32Next(pSnap, &ProcEntry);
}
//чистим память!
CloseHandle(pSnap);
return 1;
}
Вуаля, список всех процессов, аки в диспетчере задач. Теперь мы сделаем кое-что, чего в диспетчере нет! В адресном пространстве каждого процесса (в области памяти, выделенной ему системой) находятся различные библиотеки, которые, собственно, состовляют ПРИЛОЖЕНИЕ. Это и Kernel32 и GDI и еще множество различных. Наша задача - их все пересчитать и переписать! Для этого действа напишем небольшую функцию.
//Перечисление модулей процесса
int EnumerateModules(DWORD PID)
{
//Входной параметр - идентификатор процесса, чьи модули мы собираемся
//перечислять. Во первых создадим snapshot информации о модулях
//теперь нам нужна информация о конкретном процессе - процессе
//с идентификатором PID
HANDLE pMdlSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID);
Рекомендуем скачать другие рефераты по теме: государственный диплом, защита курсовой работы.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата