Я так сделал, но TlHelp32 не потребовала.
Мне кажется что внутри цикла(в сравнении) есть что то лишнее? а так вообще работает, просто интересно.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function FindTask(ExeFileName: string ): boolean ;
const
PROCESS_TERMINATE= $0001 ;
var
Co:BOOL;
FS:THandle;
FP:TProcessEntry32;
begin
result:= false ;
FS:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0 );
FP . dwSize:=Sizeof(FP);
Co:=Process32First(FS,FP);
while integer (Co) <> 0 do
begin
if ((UpperCase(ExtractFileName(FP . szExeFile))=UpperCase(ExeFileName)) or
(UpperCase(FP . szExeFile)=UpperCase(ExeFileName))) then
Result:= true ;
Co:=Process32Next(FS,FP);
end ;
CloseHandle(FS);
end ;
|
Admin: Пользуемся тегами, иначе последуют санкции!