您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 后端开发 >> PHP >> 正文

ListBox显示进程列表及取得进程EXE路径

2009-1-19CFAN整理佚名

      在Delphi中用ListBox显示进程列表以及取得指定进程的EXE路径代码,大家在uses中加入TLHelp32,PsAPI;

//ListBox显示进程列表

procedure TForm1.Button1Click(Sender: TObject);
var lppe: TProcessEntry32;
  found : boolean;
  Hand : THandle;
  P:DWORD;
  s:string;
begin
ListBox1.Items.Clear ;
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
found := Process32First(Hand,lppe);
while found do
begin
  s := StrPas(lppe.szExeFile);
  if lppe.th32ProcessID>0 then
    p := lppe.th32ProcessID
  else
    p := 0;
  ListBox1.Items.AddObject(s,pointer(p));//列出所有进程。
  found := Process32Next(Hand,lppe);
end;
end;

//取得进程EXE路径

procedure TForm1.Button2Click(Sender: TObject); //uses PSAPI;
var
h:THandle; fileName:string; iLen:integer; hMod:HMODULE;cbNeeded,p:DWORD;
begin
p :=DWORD(ListBox1.Items.Objects[ListBox1.itemindex]);
h := OpenProcess(PROCESS_ALL_ACCESS, false, p);     //p 为 进程ID
if h > 0 then
begin
  if EnumProcessModules( h, @hMod, sizeof(hMod), cbNeeded) then
  begin
    SetLength(fileName, MAX_PATH);
    iLen := GetModuleFileNameEx(h, hMod, PCHAR(fileName), MAX_PATH);
    if iLen <> 0 then
    begin
      SetLength(fileName, StrLen(PCHAR(fileName)));
      ShowMessage(fileName);
    end;
  end;
  CloseHandle(h);
end;
end;

运行效果:

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:CFAN整理 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下