Показать сообщение отдельно

  #5149  
Старый 10.12.2009, 00:43
Pr0mo
Новичок
Регистрация: 26.11.2009
Сообщений: 20
С нами: 8662587

Репутация: 60
По умолчанию

Цитата:
Сообщение от transserg  
Pr0mo не мне список драйверов ненужен мне надо именно списко загруженных длл в системе =)
Извиняюсь, не заметил сначала. Тогда есть вариант обратиться к каждому объекту, вызывающющему dll через его PID и на основе этого построить список загруженных библиотек в системе:

Код:
procedure GetAllDLL(var DLLList:TStringList);
var
 i:integer;
 tList:TStringList;
 ArrInfo:TLpModuleInfoArray;
begin
 tList:=TStringList.Create;
 ArrInfo:=GetAllProcessesInfo(false);
  for i:=0 to Length(ArrInfo)-1 do
   begin
     GetLoadedDLLList(tList,ArrInfo[i].ModulePID,[moIncludeHandle]);
     DLLList.AddStrings(tList);
   end;
   tList.Free;
end;

 // пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
 ntDLLList:TStringList;
begin
ntDLLList:=TStringList.Create;
GetAllDLL(ntDLLList);
ListBox1.Items:=ntDLLList;
ntDLLList.Free;
end;
Однако для компиляции тебе понадобиться отдельный модуль : ProcUtilz (скачать)

Последний раз редактировалось Pr0mo; 10.12.2009 в 00:45..
 
Ответить с цитированием