ВУЗ:
Составители:
Второй параметр, Ippe, представляет собой запись 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[Q..MAX_PATH – 1] of Char;
end;
• dwSize – размер записи TProcessEntry32. До использования этой записи поле dwSize должно быть инициализировано
значением SizeOf (TProcessEntry32);
• cntUsage – значение счетчика ссылок процесса. Когда это значение станет равным нулю, операционная система вы-
грузит процесс;
• th32ProcessID – идентификационный номер процесса.
• th32DefaultHeapID – идентификатор {ID} для кучи процесса, действующей по умолчанию. Этот ID имеет значение
только для функций ToolHelp32, и его нельзя использовать с другими функциями Win32;
• thHodulelD – идентифицирует модуль, связанный с процессом. Это поле имеет значение только для функций
ToolHelp32;
• cntThreads – количество потоков начало выполняться в данном процессе;
• th32ParentProcessID – идентифицирует родительский процесс для данного процесса;
• pcPriClassBase – базовый приоритет процесса. Операционная система использует это значение для управления рабо-
той потоков;
• dwFlags – зарезервировано.
В поле szExeFile содержится строка с ограничивающим нуль-символом, которая представляет собой путь и имя файла
ЕХЕ-программы или драйвера, связанного с данным процессом.
После создания снимка, содержащего информацию о процессах, для опроса данных по каждому процессу следует вы-
звать сначала функцию Process32First(). а затем вызывать функцию Process32Next() до тех пор, пока она не вернет значение
False.
Для отображения значка вместе с именем приложения, что придает программе более профессиональный вид, можно ис-
пользовать API-функцию ExtractIcon из модуля ShellAPI.
Обработка информации о потоках. Для составления списка потоков некоторого процесса в ToolHelp32 предусмотре-
ны две функции, которые аналогичны функциям, предназначенным для регистрации процессов: Thread32First() и
Thread32Next (), и объявляются следующим образом;
function Thread32First(hSnapshot: THandle; var Ipte: TThreadEntry32): BOOL; stdcall;
Помимо обычного параметра hSnapshot, этим функциям также передается по ссылке параметр типа TThreadEntry32. Как и
в случае функций, работающих с процессами, каждая из них заполняет запись TThreadEntry32, объявление которой имеет вид:
type
TThreadEntry32 = record
dwSize: DWORD;
cntUsage: DWORD;
th32ThreadID: DWORD;
th32OwnerprocessiD: Dword;
tpBasePri: Longint;
tpDeltaPri: Longint;
dwFlags: DWORD;
end;
• dwSize – размер записи, и поэтому оно должно быть инициализировано значением SizeOf (TThreadEntry32) до ис-
пользования этой записи;
• cntUsage – счетчик ссылок данного потока. При обнулении этого счетчика поток выгружается операционной систе-
мой;
• th32ThreadID – идентификационный номер потока, который имеет значение только для функций ToolHelp32;
• th320wnerProcessID – идентификатор (ID) процесса, которому принадлежит данный поток. Этот ID можно использо-
вать с другими функциями Win32;
• tpBasePri – базовый класс приоритета потока. Это значение одинаково для всех потоков данного процесса. Возмож-
ные значения этого поля обычно лежат в диапазоне 4...24. Описания этих значений приведены в табл. 3.
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »