var
hsnap: Thandle;
procentry: TProcessEntry32;
k:
byte
;
begin
k:=
1
;
hsnap:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,
0
);
procentry
.
dwSize:=sizeof(procentry);
Process32First(hsnap,procentry);
repeat
with
procinfogrid
do
begin
if
k>rowcount-
1
then
rowcount:=rowcount+
1
;
cells[
0
,k]:=procentry
.
szexefile;
cells[
1
,k]:=inttostr(procentry
.
th32ProcessID);
cells[
2
,k]:=inttostr(procentry
.
cntThreads);
cells[
3
,k]:=GetPriority(procentry
.
th32processid);
end
;
k:=k+
1
;
until
Process32Next(hsnap,procentry)<>
true
;
if
k<procinfogrid
.
RowCount
then
procinfogrid
.
RowCount:=k;
CloseHandle(hsnap);
end
;