delphi遍历进程并获取进程路径


本文整理自网络,侵删。

 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指针的定义和取值

orangeui作者开源作品

Delphi adoquery连接数据库的查询、插入、删除、修改

Delphi网络英汉字典代码

Delphi 10.3 调试程序时出错:unable to create process:请求的操作需要提升

Delphi中读取硬盘的物理序列号

重新组织编写Delphi的md2、md4、md5类

Delphi 利用createservice写与桌面交互的win32服务

Delphi-idhttp-utf-8编码乱码解决

Delphi 获取网络文件大小

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...