Delphi关闭进程

procedure TForm2.Button2Click(Sender: TObject);
var
  h: HWND;
  dwPid: DWORD;
  hThreadProcess: THANDLE;
  s: string;
begin
  h := FindWindow(PChar(Edit2.Text), PChar(Edit1.Text));
  if h > 0 then begin
    OutputDebugString('找到句柄');
    GetWindowThreadProcessId(h, @dwPid);
    if dwPid > 0 then begin
    {$IFNDEF _API}
      OutputDebugString('通过命令行关闭进程');
      s := Format('ntsd -c q -p %d',[dwPid]);
      //taskkill同ntsd也可以关闭进程
      Self.Caption := s;
      WinExec(PAnsiChar(s) ,SW_HIDE);
    {$ELSE}
      OutputDebugString('通过API关闭进程');
      hThreadProcess := OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
      TerminateProcess(hThreadProcess, 0);
      CloseHandle(hThreadProcess);
    {$ENDIF}
    end;
  end;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值