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


本文整理自网络,侵删。

 
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;

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

相关阅读 >>

Delphi 消息实现窗口最小化,最大化,关闭(Delphi)

Delphi winapi: gettopwindow - 获取指定窗口的子窗口中最顶层的窗口句柄

Delphi输入汉字自动产生拼音简码

Delphi 删除或清空一个目录(包含多级)

Delphi 小票打印开钱箱 自动切纸指令

Delphi 直接将html字符串读入webbrowser中

Delphi 立即停止timer

Delphi之如何快速开发原生activex控件

Delphi 获取适合微信使用的当前日期,以int64表示,是当前时间和1970-01-01 00:00:00之间的秒差

Delphi 快速选择文件夹路径

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



打赏

取消

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

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

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

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

评论

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