Delphi6 获得当前进程ID与句柄并终止进程。

来源:互联网 发布:雅可比矩阵展开式 编辑:程序博客网 时间:2024/05/24 01:48
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, Grids, StdCtrls;type  TForm1 = class(TForm)    btnKillHandle: TButton;    btnKillByPID: TButton;    lblProcess: TLabel;    lblPID: TLabel;    procedure FormCreate(Sender: TObject);    procedure btnKillHandleClick(Sender: TObject);    procedure btnKillByPIDClick(Sender: TObject);  private    procedure KillProcess(aPID: Cardinal);  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  lblProcess.Caption := '当前进程虚拟句柄: ' + IntToStr(GetCurrentProcess);  lblPID.Caption     := '当前进程 ID: ' + IntToStr(GetCurrentProcessId);end;procedure TForm1.btnKillHandleClick(Sender: TObject);begin  TerminateProcess(GetCurrentProcess, 0);end;procedure TForm1.btnKillByPIDClick(Sender: TObject);begin  KillProcess(GetCurrentProcessId);end;procedure TForm1.KillProcess(aPID: Cardinal);var  tmpHandle: THandle;begin  tmpHandle := OpenProcess(PROCESS_TERMINATE, False, aPID);  if (tmpHandle <> 0) then    TerminateProcess(tmpHandle,0);end;end.


 

0 0
原创粉丝点击