源代码:
---------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,tlHelp32, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CreateProList;
*******
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Halt;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
CreateProList;
end;
procedure TForm1.CreateProList;
var
hSnap:THandle;
ps:TProcessEntry32;
b:BOOL;
begin
hSnap:=tlHelp32.CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
{ TODO -o猪悟能 : 必须把dwsize先赋值为Sizeof(processEntry32),否则取不到信息 }
ps.dwSize:=SizeOf(TprocessEntry32);
b:=tlHelp32.Process32First(hSnap,ps);
//进程ID----进程的可执行文件名称
ListBox1.Items.Add(IntToHex(ps.th32ProcessID,8)+
'----'+ ps.szExeFile);
if b then
begin
while tlHelp32.Process32Next(hSnap,ps) do
ListBox1.Items.Add(IntToHex(ps.th32ProcessID,8)+
'----'+ps.szExeFile);
end;
CloseHandle(hSnap);
end;
end.
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.051297187805176 seconds