Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как узнать запущен ли процесс с определенным именем? [D6, Win2k]


GIL ©   (2004-11-05 16:33:00) 

собсно см тему.


ssk   (2004-11-05 16:48:00) [1]

выдрал из фака совет, как убить процесс по ЕХЕ-имени и немного переделал:


function IsEXERunning(EXEFileName: string): boolean;
var
 ContinueLoop: BOOL;
 FSnapshotHandle: THandle;
 FProcessEntry32: TProcessEntry32;
begin
 Result := False;
 FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
 ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
 while Integer(ContinueLoop) <> 0 do
   begin
     if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
          UpperCase(ExeFileName)) or
         (UpperCase(FProcessEntry32.szExeFile) =
          UpperCase(ExeFileName))) then Result := True;
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
   end;
 CloseHandle(FSnapshotHandle);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо