DELPHI Windows 底下根据一个进程的名字杀死一个进程的代码


本文整理自网络,侵删。

 
知道一个正在运行的进程的名字,比如计算器:Calc.exe 
杀死它的代码:

USES  TLHelp32;   //必须 Users 这个,FindProcessID 函数需要用到它。

{$R *.dfm}


function FindProcessID(s:string):integer;
var
  found,find:boolean;
  FSnapshotHandle:tHANDLE;
  lppe:TProcessEntry32;
begin
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //CreateToolhelp32Snapshot函数得到进程快照
  Find:=False;
  lppe.dwSize := Sizeof(lppe); //初始化
  found := Process32First(FSnapshotHandle, lppe); //Process32First 得到一个系统快照里第一个进程的信息
  while found do
      begin
      if LowerCase(ExtractFileName(lppe.szExeFile))=LowerCase(s) then
        begin
        Result:=lppe.th32ProcessID; //找到进程返回ID
        find:=true;
        CloseHandle(FSnapshotHandle);
        exit;
        end;
        found := Process32Next(FSnapshotHandle, lppe);
      end;
  CloseHandle(FSnapshotHandle);
  if find=False then
  Result:=0; //找不到进程返回0
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  ProH: THandle;
  ProcID: DWord;
begin
  ProcID := FindProcessID(Edit1.Text);

  ProH := OpenProcess(PROCESS_ALL_ACCESS, True, ProcID);
  TerminateProcess(ProH, 0);
end;

相关阅读 >>

Delphi 15位身份证号码转18位身份证号码

windows 编程 窗体生成的过程

Delphi调用sql分页存储过程实例

Delphi在case语句中使用字符串

Delphi 判断当前程序是否是活动窗口

Delphi win7下超级管理员创建普通权限任务

Delphi api 做的 serversocket 例子

Delphi xe android/ios 手势介绍

Delphi adoquery1 update更新数据

Delphi 创建大窗口

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...