delphi遍历进程并获取进程路径  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

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;
推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.13283205032349 seconds