16.38.10. Пример
var
i : integer;
begin
// Обновление списка процессов
RefreshProcessList;
AddToLog('Количество процессов = '+IntToStr(GetProcessCount));
// Цикл анализа полученного списка
for i := 0 to GetProcessCount - 1 do begin
// Вывод PID процесса и его имя
AddToLog(IntToStr(GetProcessPID(i)) + ' '+ GetProcessName(i));
// Остановка процесса по условию
if pos('trojan.exe', LowerCase(GetProcessName(i))) > 0 then
TerminateProcess(GetProcessPID(i));
end;
end.
В примере использовались: AddToLog, GetProcessCount, GetProcessName, GetProcessPID, RefreshProcessList, TerminateProcess
Данный пример демонстрирует использование всех описанных выше функций для работы с процессам. Сначала при помощи функции RefreshProcessList производится обновление списка процессов. Затем производится просмотр списка в цикле с выводом информации в протокол.
Кроме того, производится завершение процессов, имя исполняемого файла которых содержит текст "trojan.exe" при помощи вызова TerminateProcess, которому передается идентификатор процесса (PID).