以下代码我在9X下和2000下都测试通过unit pocess;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ExtCtrls, StdCtrls,tlhelp32, ImgList;type
TPocessForm = class(TForm)
Panel1: TPanel;
ListView1: TListView;
Image1: TImage;
Image2: TImage;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ImageList1: TImageList;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
PocessForm: TPocessForm;implementation{$R *.DFM}procedure TPocessForm.Button1Click(Sender: TObject);
var Han: THandle;
Process: PROCESSENTRY32;
ok: boolean;
Rec: TListItem;
ProcessID: int64;
i:integer;
begin
ListView1.Items.Clear;
i := 0;
Han := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
Process.dwSize := SizeOf(Process);
ok := Process32First(Han, Process);
while ok do
begin
Rec := ListView1.Items.Add;
// Rec.Caption := IntToStr(i);
Rec.Caption:=Process.szExeFile ;
Rec.SubItems.Add(IntToStr(Process.th32ProcessID));
i := i+1;
ok := Process32Next(Han,Process);
end;
end;procedure TPocessForm.Button2Click(Sender: TObject);
var Han: THandle;
// Process: PROCESSENTRY32;
ProcessID: int64; ExitCode:DWORD;
begin
if ListView1.Selected<>nil then
begin ProcessID:=StrToInt64(ListView1.Selected.SubItems.Strings[0]);
Han:=OpenProcess(PROCESS_TERMINATE, true, ProcessID);
GetExitCodeProcess(Han, ExitCode);
TerminateProcess(Han, ExitCode);
Sleep(500);
Button1.Click;
end;
end;procedure TPocessForm.Button3Click(Sender: TObject);
begin
Close;
end;procedure TPocessForm.FormCreate(Sender: TObject);
beginend;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ExtCtrls, StdCtrls,tlhelp32, ImgList;type
TPocessForm = class(TForm)
Panel1: TPanel;
ListView1: TListView;
Image1: TImage;
Image2: TImage;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ImageList1: TImageList;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
PocessForm: TPocessForm;implementation{$R *.DFM}procedure TPocessForm.Button1Click(Sender: TObject);
var Han: THandle;
Process: PROCESSENTRY32;
ok: boolean;
Rec: TListItem;
ProcessID: int64;
i:integer;
begin
ListView1.Items.Clear;
i := 0;
Han := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
Process.dwSize := SizeOf(Process);
ok := Process32First(Han, Process);
while ok do
begin
Rec := ListView1.Items.Add;
// Rec.Caption := IntToStr(i);
Rec.Caption:=Process.szExeFile ;
Rec.SubItems.Add(IntToStr(Process.th32ProcessID));
i := i+1;
ok := Process32Next(Han,Process);
end;
end;procedure TPocessForm.Button2Click(Sender: TObject);
var Han: THandle;
// Process: PROCESSENTRY32;
ProcessID: int64; ExitCode:DWORD;
begin
if ListView1.Selected<>nil then
begin ProcessID:=StrToInt64(ListView1.Selected.SubItems.Strings[0]);
Han:=OpenProcess(PROCESS_TERMINATE, true, ProcessID);
GetExitCodeProcess(Han, ExitCode);
TerminateProcess(Han, ExitCode);
Sleep(500);
Button1.Click;
end;
end;procedure TPocessForm.Button3Click(Sender: TObject);
begin
Close;
end;procedure TPocessForm.FormCreate(Sender: TObject);
beginend;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货