Получение списка экспорта dllDelphi , Файловая система , DLL и PlugInsПолучение списка экспорта dll
Автор: Mystic { **** UBPFD *********** by delphibase.endimus.com **** >> Получение списка экспорта dll Функция GetImageFunctionList возвращает список всех экспортируемых функций dll FileName - имя dll Strings - объетк, в который будут занесен список экспорта. ВАЖНО! Тестировано только под NT4 Зависимости: Windows, ImageHlp Автор: Mystic, mystic2000@newmail.ru, ICQ:125905046, Харьков Copyright: Mystic Дата: 21 апреля 2002 г. ***************************************************** } function EnumSymbols(SymbolName: PChar; SymbolAddress, SymbolSize: ULONG; Strings: Pointer): Bool; stdcall; begin TStrings(Strings).Add(SymbolName); Result := True; end; function GetImageFunctionList(const FileName: string; Strings: TStrings): Boolean; var Handle: THandle; hProcess: THandle; VersionInfo: TOSVersionInfo; begin Strings.Clear; Result := False; SymSetOptions(SYMOPT_UNDNAME or SYMOPT_DEFERRED_LOADS); VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); if not GetVersionEx(VersionInfo) then Exit; if VersionInfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then hProcess := GetCurrentProcessId else hProcess := GetCurrentProcess; if not SymInitialize(hProcess, nil, True) then Exit; try Handle := LoadLibrary(PChar(FileName)); if Handle = 0 then Exit; try if not SymLoadModule(hProcess, 0, PChar(FileName), nil, Handle, 0) then Exit; try if not SymEnumerateSymbols(hProcess, Handle, EnumSymbols, Strings) then Exit; finally SymUnloadModule(hProcess, Handle); end; finally FreeLibrary(Handle); end; finally SymCleanup(hProcess); end; Result := True; end; Пример использования: if not GetImageFunctionList('kernel32.dll', ListBox1.Items) then raise Exception.Create('Произошла ошибка'); Это код-набор на Delphi, демонстрирующий, как получить список экспортированных функций из динамической связки библиотеки (DLL). Функция Разбивка кода:
Пример использования в конце кода-набора демонстрирует, как вызвать функцию Функция GetImageFunctionList позволяет получать список экспортируемых функций из динамической библиотеки (DLL) и является полезной для работы с WinAPI. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: DLL и PlugIns ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |