Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Чужая DLL


Автор: mr_tg 12.5.2011, 13:44
Здраствуйти Знатаки своего дела!

У меня есть DLLка. которую не я писал. (чужая библиотека)
мне надо зподключить чужкую библиотеку в свою программу.
Но я незнаю наименовании экспортируемых функции и их описание.
Можноли воспользоватса dllками зная только наименовании экспортируемых функции.
если даб то покажите несложный пример ПЛС.



(статус мой навичокв програмировании).

Автор: Snowy 12.5.2011, 14:58
Все экспортируемые функции описаны у dll в секции export.
Посмотреть её в читаемом виде можно, используя специальные инструменты, типа http://www.google.ru/search?q=pe+explorer

Автор: mr_tg 12.5.2011, 15:19

В TotalCommanderе клавишей F3  просмотрел имена доступных функции в Dllке.
Но я всё ещо незнаю их описание ....

Можноли воспользоватса dll ками зная только наименовании экспортируемых функции.
Если да то покажите несложный пример ПЛС.

 smile 

Автор: Snowy 12.5.2011, 15:34
Нужно знать не только имена, но и список параметров этих функций.
Тот же PE Explorer умеет декодировать секцию экспорта в С++ запись.
Её можно перевести в дельфи запись.
Эту запись просто добавляешь в свою программу и потом вызываешь, как обычную функцию.
Главное, чтобы эта dll находилась в папке с программой, или в любом доступном напрямую месте.
Пример:
Код
function QueryFullProcessImageNameW(Process: THandle; Flags: DWORD; Buffer: PChar; Size: PDWORD): DWORD; stdcall; external 'kernel32.dll';
Подключает функцию QueryFullProcessImageNameW из kernel32.dll

Автор: mr_tg 12.5.2011, 16:52
Snowy
Спасибо я просмотрел файл 
Цитата
kernel32.dll 
 через PeExplorer. В нижней частьи програмы, в пункте SYNTAXDetails показывает
допустим 
Цитата
function CancelWaitableTimer(hTimer: THandle): BOOL; stdcall; external 'kernel32.dll' name 'CancelWaitableTimer' index 26;  

для функции CancelWaitableTimer.
но в тех которых хочу посмотруть, 
например когда хотел просмотрет в ДЛЛке 'kernel32.dll' функцию 
Цитата
BindIoCompletionCallback

программа выдает сообшение:
Цитата

Information not available
Press the Syntax description editor button or double click a selected procedure/function to create a new syntax description file for this library.

а как просмотреть вот такие функции чтобы воспользоватса в своём програмке? 
Заране СПС за любой правилний совет.!

Автор: Snowy 12.5.2011, 17:58
Ну, если в ассемблере ты не силен, то, возможно, кто-то эту работу уже проделал.
Попробуй вот эти 2 поисковика по кодам:
http://www.koders.com/
http://www.google.com/codesearch
Введи имя своей dll, выбери язык (pas/delphi/c++)

Автор: mr_tg 13.5.2011, 07:41
Спасибо за внимание и ответы на вопрос  Snowy 

Я просмотрю эти сылки.  

Но шас я закрою тему.


 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)