📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,TLHelp32;
type
TfrmMain = class(TForm)
ListBox1: TListBox;
btnRefresh: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btnRefreshClick(Sender: TObject);
procedure ViewProgress;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
lstProgress:TList;
type
TProcessInfo = Record
ExeFile : String;
ProcessID : DWORD;
end;
pProcessInfo = ^TProcessInfo;
implementation
{$R *.dfm}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
lstProgress:= TList.Create;
lstProgress.Clear;
ViewProgress;
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
lstProgress.Free;
end;
procedure TfrmMain.btnRefreshClick(Sender: TObject);
begin
ViewProgress;
end;
procedure TfrmMain.ViewProgress;
var
PI:pProcessInfo;
ContinueLoop:BOOL;
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
begin
ListBox1.Items.Clear;
lstProgress.Clear;
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop)<>0 do
begin
New(PI);
PI.ExeFile := FProcessEntry32.szExeFile;
PI.ProcessID := FProcessEntry32.th32ProcessID;
lstProgress.Add(PI);
ListBox1.Items.Add(PI.ExeFile);
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -