Delphi轻松获取系统进程名称和进程ID
Delphi获取系统当前进程名和进程ID,这里我采用的是ListViw控件。要注意在编写本单元时,不要忘了引用“TLHelp32”单元。
完整的源代码如下:
var
Form1: TForm1;
Summ: Word;
implementation
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
var
ContinueLoop: BOOL;
NewItem: TListItem;
begin
ListView1.Items.BeginUpdate;
ListView1.Items.Clear;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
//CreateToolhelp32Snapshot函数得到进程快照
FProcessEntry32.dwSize := Sizeof(FProcessEntry32); //初始化
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
//Process32First 得到一个系统快照里第一个进程的信息
Summ := 0;
while ContinueLoop do
begin
Summ := Summ + 1;
NewItem := ListView1.Items.Add; //在ListView1显示
NewItem.ImageIndex := -1;
NewItem.Caption := ExtractFileName(FProcessEntry32.szExeFile);//进程名称
NewItem.subItems.Add(FormatFloat('00', Summ));//序号
NewItem.subItems.Add(IntToStr(FProcessEntry32.th32ProcessID));//进程ID
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
ListView1.Items.EndUpdate;
end;
亲自测试,完整无误!