Delphi에서 지정된 프로세스(프로세스 이름)

1169 단어 StringIntegerDelphi
procedure KillProcess(ExeName: string);  
const  
  PROCESS_TERMINATE = $0001; //   PROCESS_TERMINATE       
var  
  ContinueLoop: Boolean;  
  FSnapshotHandle: THandle;  
  FProcessEntry32: TProcessEntry32;  
begin  
  //             
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  
  //  Process32First  Sizeof(FProcessEntry32)  FProcessEntry32.dwSize   
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);  
  //                FProcessEntry32       
  ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);  
  while integer(ContinueLoop) <> 0 do //                
  begin  
    //            
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeName))  
      or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeName))) then  
       TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID), 0);     //       
    ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32); //              
  end;  
end;  

좋은 웹페이지 즐겨찾기