|  | 
|      | 
|   | 
| Получить экспортируемые из DLL функцииDelphi , Файловая система , DLL и PlugInsПолучить экспортируемые из DLL функции
Оформил: DeeCo 
uses
   ImageHlp;
 procedure ListDLLExports(const FileName: string; List: TStrings);
 type
   TDWordArray = array [0..$FFFFF] of DWORD;
 var
   imageinfo: LoadedImage;
   pExportDirectory: PImageExportDirectory;
   dirsize: Cardinal;
   pDummy: PImageSectionHeader;
   i: Cardinal;
   pNameRVAs: ^TDWordArray;
   Name: string;
 begin
   List.Clear;
   if MapAndLoad(PChar(FileName), nil, @imageinfo, True, True) then
   begin
     try
       pExportDirectory := ImageDirectoryEntryToData(imageinfo.MappedAddress,
         False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize);
       if (pExportDirectory <> nil) then
       begin
         pNameRVAs := ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress,
           DWORD(pExportDirectory^.AddressOfNames), pDummy);
         for i := 0 to pExportDirectory^.NumberOfNames - 1 do
         begin
           Name := PChar(ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress,
             pNameRVAs^[i], pDummy));
           List.Add(Name);
         end;
       end;
     finally
       UnMapAndLoad(@imageinfo);
     end;
   end;
 end;
 procedure TForm1.Button1Click(Sender: TObject);
 var
   List: TStrings;
   i: Integer;
   s: string;
 begin
   List := TStringList.Create;
   try
     ListDLLExports('C:\WINDOWS\SYSTEM32\browseui.dll', List);
     ShowMessage(IntToStr(list.Count) + ' functions in dll');
     s := 'List of functions:';
     for i := 0 to List.Count - 1 do
       s := s + #13#10+List[i];
     ShowMessage(S);
   finally
     List.Free
   end;
 end;Программа на Delphi для списка экспортированных функций из файла DLL (Dynamic Link Library). Вот подробное описание, что код делает: Процедура ListDLLExports Эта процедура принимает два параметра:  Продcedure использует несколько переменных для хранения указателей на различные структуры в файле DLL: 
 Продcedure выполняет следующие действия: 
 Процедура Button1Click Эта процедура является обработчиком события нажатия кнопки на форме ( 
 Код довольно прост и использует различные функции из единицы  В статье описывается пример программного кода на языке Delphi, который позволяет получить список экспортируемых из DLL-файла функций и отобразить его в сообщении. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш  :: Главная :: DLL и PlugIns :: 
 | ||||
|  ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||