直接kill某进程的方法

来源:互联网 发布:js div滑动到顶部 编辑:程序博客网 时间:2024/05/22 05:14

uses  TLHelp32;

 

 procedure KillTask(ExeFileName: string);
var
  b: Boolean;
  FSnapshotHandle,ProcessHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) ;
  FProcessEntry32.dwSize :=SizeOf(FProcessEntry32);
  b := Process32First(FSnapshotHandle, FProcessEntry32);
  while b do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))=UpperCase(ExeFileName))
        or (UpperCase(FProcessEntry32.szExeFile) =UpperCase(ExeFileName))) then
    begin
      ProcessHandle :=  OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID);
      TerminateProcess(ProcessHandle, 0);
      Break;
    end;
    b := Process32Next(FSnapshotHandle,FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;

原创粉丝点击