本文整理自网络,侵删。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses PsAPI;
procedure TForm1.Button1Click(Sender: TObject);
const
n = 512;
var
IDArr: array[0..n-1] of DWORD;
size,i: DWORD;
buf: array[0..MAX_PATH] of Char;
pHandle: THandle;
begin
// FillChar(buf, n, #0); {这样可避免乱码}
EnumProcesses(@IDArr, n, size);
for i := 0 to size div SizeOf(DWORD) - 1 do
begin
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, IDArr[i]);
GetModuleFileNameEx(pHandle, 0, buf, Length(buf)*SizeOf(buf[0]));
CloseHandle(pHandle);
Memo1.Lines.Add(buf);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
Memo1.Align := alTop;
Memo1.ScrollBars := ssBoth;
end;
相关阅读 >>
Delphi adoquery连接数据库的查询、插入、删除、修改
Delphi 10.3 调试程序时出错:unable to create process:请求的操作需要提升
Delphi 利用createservice写与桌面交互的win32服务
更多相关阅读请进入《Delphi》频道 >>