unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Tlhelp32, StdCtrls, Buttons, CheckLst;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ListBox1: TListBox;
Button1: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure Search(Strings:TStrings);
implementation
{$R *.dfm}
procedure Search(Strings:TStrings);
var
Snap:THandle;
RB:Boolean;
PE:TProcessEntry32;
begin
if Strings=nil then
Exit;
snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if snap = -1 then Exit;
try
PE.dwSize:=SizeOf(TProcessEntry32);
RB:=Process32First(snap,PE);
while RB do
begin
Strings.AddObject(PE.szExeFile,Pointer(PE.th32ProcessID));
PE.dwSize:=SizeOf(TProcessEntry32);
RB:=Process32Next(snap,PE);
end;
finally
CloseHandle(snap);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
Search(ListBox1.Items);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H:THandle;
R:Cardinal;
begin
H:=OpenProcess(PROCESS_TERMINATE,True,LongInt(ListBox1.Items.Objects[ListBox1.ItemIndex]));
R:=0;
TerminateProcess(H,R);
CloseHandle(H);
end;
end.
关键的:
procedure TForm1.Button1Click(Sender: TObject);
var
H:THandle;
R:Cardinal;
begin
H:=OpenProcess(PROCESS_TERMINATE,True,LongInt(ListBox1.Items.Objects[ListBox1.ItemIndex]));
R:=0;
TerminateProcess(H,R);
CloseHandle(H);
end;
其中ListBox1.Items.Objects[ListBox1.ItemIndex]是在遍历进程时存放的ProcessID
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Tlhelp32, StdCtrls, Buttons, CheckLst;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ListBox1: TListBox;
Button1: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure Search(Strings:TStrings);
implementation
{$R *.dfm}
procedure Search(Strings:TStrings);
var
Snap:THandle;
RB:Boolean;
PE:TProcessEntry32;
begin
if Strings=nil then
Exit;
snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if snap = -1 then Exit;
try
PE.dwSize:=SizeOf(TProcessEntry32);
RB:=Process32First(snap,PE);
while RB do
begin
Strings.AddObject(PE.szExeFile,Pointer(PE.th32ProcessID));
PE.dwSize:=SizeOf(TProcessEntry32);
RB:=Process32Next(snap,PE);
end;
finally
CloseHandle(snap);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
Search(ListBox1.Items);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H:THandle;
R:Cardinal;
begin
H:=OpenProcess(PROCESS_TERMINATE,True,LongInt(ListBox1.Items.Objects[ListBox1.ItemIndex]));
R:=0;
TerminateProcess(H,R);
CloseHandle(H);
end;
end.
关键的:
procedure TForm1.Button1Click(Sender: TObject);
var
H:THandle;
R:Cardinal;
begin
H:=OpenProcess(PROCESS_TERMINATE,True,LongInt(ListBox1.Items.Objects[ListBox1.ItemIndex]));
R:=0;
TerminateProcess(H,R);
CloseHandle(H);
end;
其中ListBox1.Items.Objects[ListBox1.ItemIndex]是在遍历进程时存放的ProcessID
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货