uses Tlhelp32;procedure TForm1.Button1Click(Sender: TObject); var lppe: TProcessEntry32; found : boolean; Hand : THandle; P:DWORD; s:string; begin Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); lppe.dwSize := SizeOf(TProcessEntry32); found := Process32First(Hand,lppe); while found do begin s := StrPas(lppe.szExeFile); if lppe.th32ProcessID>0 then p := lppe.th32ProcessID else p := 0; Memo1.Lines.Add(IntToStr(p)+':'+s); end; end;
不好意思,刚才没有测试,写少了一句,我去面壁。 ^_^var lppe: TProcessEntry32; found : boolean; Hand : THandle; P:DWORD; s:string; begin Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); lppe.dwSize := SizeOf(TProcessEntry32); found := Process32First(Hand,lppe); while found do begin s := StrPas(lppe.szExeFile); if lppe.th32ProcessID>0 then p := lppe.th32ProcessID else p := 0; Memo1.Lines.Add(IntToStr(p)+':'+s); found := Process32Next(Hand,lppe);//少了这句 end; end;
uses Tlhelp32;procedure TForm1.btn2Click(Sender: TObject); var lppe:tprocessentry32; sshandle:thandle; found:boolean; begin sshandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0); found:=process32first(sshandle,lppe); while found do begin mmo1.Lines.Add(string(lppe.szExeFile)+':'+inttostr(lppe.th32ProcessID)); found:=Process32Next(sshandle,lppe); end; end;//线程用Thread32First,Thread32Next //模块用Module32First,Module32Next //堆用Heap32First,Heap32Next //可执行文件用process32first
uses Tlhelp32; procedure TForm1.Button1Click(Sender: TObject); var lppe: TProcessEntry32; found : boolean; Hand : THandle; P:DWORD; s:string; begin Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); lppe.dwSize := SizeOf(TProcessEntry32); found := Process32First(Hand,lppe); while found do begin s := StrPas(lppe.szExeFile); if lppe.th32ProcessID>0 then p := lppe.th32ProcessID else p := 0; Memo1.Lines.Add(IntToStr(p)+':'+s); found := Process32Next(Hand,lppe); end; end;
Module32First
Module32Next
var lppe: TProcessEntry32;
found : boolean;
Hand : THandle;
P:DWORD;
s:string;
begin
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize := SizeOf(TProcessEntry32);
found := Process32First(Hand,lppe);
while found do
begin
s := StrPas(lppe.szExeFile);
if lppe.th32ProcessID>0 then
p := lppe.th32ProcessID
else
p := 0;
Memo1.Lines.Add(IntToStr(p)+':'+s);
end;
end;
found : boolean;
Hand : THandle;
P:DWORD;
s:string;
begin
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize := SizeOf(TProcessEntry32);
found := Process32First(Hand,lppe);
while found do
begin
s := StrPas(lppe.szExeFile);
if lppe.th32ProcessID>0 then
p := lppe.th32ProcessID
else
p := 0;
Memo1.Lines.Add(IntToStr(p)+':'+s);
found := Process32Next(Hand,lppe);//少了这句
end;
end;
var
lppe:tprocessentry32;
sshandle:thandle;
found:boolean;
begin
sshandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);
found:=process32first(sshandle,lppe);
while found do
begin
mmo1.Lines.Add(string(lppe.szExeFile)+':'+inttostr(lppe.th32ProcessID));
found:=Process32Next(sshandle,lppe);
end;
end;//线程用Thread32First,Thread32Next
//模块用Module32First,Module32Next
//堆用Heap32First,Heap32Next
//可执行文件用process32first
procedure TForm1.Button1Click(Sender: TObject);
var
lppe: TProcessEntry32;
found : boolean;
Hand : THandle;
P:DWORD;
s:string;
begin
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize := SizeOf(TProcessEntry32);
found := Process32First(Hand,lppe);
while found do
begin
s := StrPas(lppe.szExeFile);
if lppe.th32ProcessID>0 then
p := lppe.th32ProcessID
else
p := 0;
Memo1.Lines.Add(IntToStr(p)+':'+s);
found := Process32Next(Hand,lppe);
end;
end;