delphi 殺進程的函數KillTask

 
 
一個delphi 殺進程的函數 參數爲文件名 如 QQ.exe
  1. function KillTask(ExeFileName: string): integer;
  2. const 
  3. PROCESS_TERMINATE=$0001
  4. var 
  5. ContinueLoop: BOOL; 
  6. FSnapshotHandle: THandle; 
  7. FProcessEntry32: TProcessEntry32;
  8. begin 
  9. result := 0
  10. FSnapshotHandle := CreateToolhelp32Snapshot 
  11. (TH32CS_SNAPPROCESS, 0); 
  12. FProcessEntry32.dwSize := Sizeof(FProcessEntry32); 
  13. ContinueLoop := Process32First(FSnapshotHandle, 
  14. FProcessEntry32); 
  15. while integer(ContinueLoop) <> 0 do 
  16. begin 
  17. if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = 
  18. UpperCase(ExeFileName)) 
  19. or (UpperCase(FProcessEntry32.szExeFile) = 
  20. UpperCase(ExeFileName))) then 
  21. Result := Integer(TerminateProcess(OpenProcess( 
  22. PROCESS_TERMINATE, BOOL(0), 
  23. FProcessEntry32.th32ProcessID), 0)); 
  24. ContinueLoop := Process32Next(FSnapshotHandle, 
  25. FProcessEntry32); 
  26. end
  27. CloseHandle(FSnapshotHandle); 
  28. end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章