Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Обработка информации о процессахИмея дескриптор снимка, содержащий информацию о процессах, можно воспользоваться двумя функциями Тоо1Не1р32, которые позволяют последовательно просмотреть сведения обо всех процессах в системе. Функции Process32First() и Process32Next() определены следующим образом: function Process32First(hSnapshot: THandle; var lppe: TProcessEntry32):BOOL; stdcall; function Process32Next(hSnapshot: THandle; var lppe: TProcessEntry32):BOOL; stdcall; Первый параметр у обеих функций является дескриптором снимка, возвращаемым функцией CreateToolhelp32Snapshot().Второй параметр, lppe, представляет собой запись TProcessEntry32, которая передается по ссылке. По мере прохождения по элементам перечисления функции будут заполнять эту запись информацией о следующем процессе. Запись TProcessEntry32 определяется так: type TProcessEntry32 = record dwSize: DWORD; cntUsage: DWORD; th32ProcessID: DWORD; th32DefaultHeapID: DWORD; th32ModuleID: DWORD; cntThreads: DWORD; th32ParentProcessID: DWORD; pcPriClassBase: Longint; dwFlags: DWORD; szExeFile: array[0..MAX_PATH - 1] of Char; end; · В поле dwSize содержится размер записи TProcessEntry32. До использования этой записи поле dwSize должно быть инициализировано значением SizeOf (TProcessEntry32). · В поле cntUsage хранится значение счетчика ссылок процесса. Когда это значение станет равным нулю, операционная система выгрузит процесс. · В поле th32ProcessID содержится идентификационный номер процесса. · Поле th32DefaultHeapID предназначено для хранения идентификатора (ID) для кучи процесса, действующей по умолчанию. Этот ID имеет значение только для функций Тоо1Не1р32, и его нельзя использовать с другими функциями Win32. · Поле thModulelD идентифицирует модуль, связанный с процессом. Это поле имеет значение только для функций TooIHelp32. · По значению поля cntThreads можно судить о том, сколько потоков начало выполняться в данном процессе. · Поле th32ParentProcessID идентифицирует родительский процесс для данного процесса. · В поле pcPriClassBase хранится базовый приоритет процесса. Операционная система использует это значение для управления работой потоков. · Поле dwFlags зарезервировано. · В поле szExeFile содержится строка с ограничивающим нуль-символом, которая представляет собой путь и имя файла ЕХЕ-программы или драйвера, связанного с данным процессом. После создания снимка, содержащего информацию о процессах, для опроса данных по каждому процессу следует вызвать сначала функцию Process32First(), а затем вызывать функцию Process32Next() до тех пор, пока она не вернет значение False.
|