频道分类

DELPHI Windows 下用 Delphi 代码杀死进程,或者杀死自己

作者:admin 来源: 日期:2019/4/15 14:08:55 人气: 标签:

 
Windows 下杀死进程




1. 用命令行杀进程,前提是你知道进程 ID。用 Windows 任务管理器可以查看一个运行中的进程的进程 ID。用命令行命令 netstat -nao 可以查看当前联网的进程及其 ID

    知道进程 ID 后,在命令行输入以下命令可以杀死这个进程:ntsd -c q -p "pid"  




2. 杀死一个别的进程,前提是我们知道这个进程的主 Form 的标题(在 Delphi 来说就是主 Form.Caption):


procedure KillProgram(WindowTitle : string);  
const  
  PROCESS_TERMINATE = $0001;  
var  
  ProcessHandle : THandle;  
  ProcessID: Integer;  
  TheWindow : HWND;  
begin  
  TheWindow := FindWindow(nil, PChar(WindowTitle));  //WindowTitle 是另外一个程序的主FORM.CAPTION
  GetWindowThreadProcessID(TheWindow, @ProcessID);  
  ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);  
  TerminateProcess(ProcessHandle,4);  
end;  


 3. 杀死自己(程序自杀): 
procedure TForm1.Button1Click(Sender: TObject);
var
  ProcID: DWord;
  H, ProH: THandle;
begin
  GetWindowThreadProcessId(Application.Handle, ProCID);
  ProH := OpenProcess(PROCESS_ALL_ACCESS, True, ProcID);
  TerminateProcess(ProH, 0);
end;

上述代码,把当前运行这个代码的程序自己杀死了。