Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Все процессы и dll в системе

15K
23 декабря 2005 года
artemZeuS
2 / / 23.12.2005
Как узнать все dll которые использует процесс во время своей работы в winXP.
15K
23 декабря 2005 года
artemZeuS
2 / / 23.12.2005
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 function getmodules(id:Integer):String;
var
  Form1: TForm1;

implementation

{$R *.dfm}

  uses tlhelp32;

procedure TForm1.Button1Click(Sender: TObject);
var
  handler:thandle;
  data:TProcessEntry32;

function return_name:string; // Вспомоготельная функция получения имени
var
  i:byte;
  names:string;
  id:Integer;
  size:Integer;
begin
  names:='';
  i:=0;
  id:=data.th32ProcessID;
//  size:=data.dwSize;

  while data.szExeFile <> '' do
    begin
      names:=names+data.szExeFile;
      inc(i);
    end;
    getmodules(id);
  return_name:=names +' ' +IntToStr(id);//+ ' ' + IntToStr(size);
end;

begin //Основная функция перечисления процессов
  handler:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
  if Process32First(handler,data) then
    begin

      memo1.Lines.add(return_name);
      while Process32Next(handler,data) do
       memo1.Lines.add(return_name);
    end
  else
    showmessage('Ошибка получения информации :)');

   CloseHandle(handler); //Хендл закрывать обязательно!!
end;


function getmodules(id:Integer):String;
var
  module32:TModuleEntry32;
  next : bool;
  h:THandle;
begin
  Module32.dwSize:=SizeOf(TModuleEntry32);
  H:=CreateToolHelp32Snapshot(TH32CS_SNAPMODULE, id);
  if Module32First(h,Module32) then
   begin
//используем информацию об объекте из записи
    Repeat
     Next:=Module32Next(H,Module32);

     if Next  Then Form1.memo1.Lines.Add(Module32.szExePath);
    Until Not Next;
   end;
   CloseHandle(h); //Хендл закрывать обязательно!!

end;

end.

но почему для некоторых exe не показывает dll?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог