Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имя модуля, загрузившего DLL [D7, Win2k, WinXP]


Molchanov ©   (2005-01-06 12:47:00) 

Может ли DLL, загруженная LoadLibrary, узнать имя либо hinstance модуля (exe либо dll), ее загрузившего, и, если да, то как?


Fin   (2005-01-06 16:57:00) [1]

Опечатка. Вместо (Я думаю что Игорь Шевченко [4] ), следует читать (Я думаю что Игорь Шевченко [5])


Fin   (2005-01-06 16:55:00) [2]

Я думаю что Игорь Шевченко [4]имел ввиду передовать имя как параметр, и не важно что вызов произошол из другой DLL, ведь в этой первой DLL узнать имя exe-ка не проблемма, тем более из самого exe-ка,и короче последовательно передовать имя EXE-ка от одной DLL к другой в качестве параметра.


Molchanov   (2005-01-06 16:38:00) [3]

Игорь Шевченко (06.01.05 16:05) [5]

EXEшник для программы-DLL - оболочка


Игорь Шевченко   (2005-01-06 16:05:00) [4]

Molchanov   (06.01.05 15:49) [4]

Я бы передавал имя EXEшника.


Molchanov   (2005-01-06 15:49:00) [5]

Особой необходимости нет.
Есть измерительное оборудование, которое взаимодействует с программной оболочкой (EXE). Управляющие оборудованием программы могут быть оформлены и как EXE, и как DLL. Связь с оболочкой в любом случае осуществляется через специальную DLL. При загрузке программы происходит handshake в процессе которого DLL связи передает оболочке среди прочей информации имя файла управляющей программы. Если программа - DLL, то оно и так известно, просто хотелось использовать единый механизм.


Игорь Шевченко   (2005-01-06 15:28:00) [6]

Molchanov   (06.01.05 14:53) [2]


> Если моя DLL была загружена другой DLL, можно ли узнать
> имя загрузившей?


Просто - нельзя. А смысл такого узнавания ?


Molchanov   (2005-01-06 14:53:00) [7]

> GetModuleFileName(0, ...)
Этим способом можно узнать имя exe-файла.
Если моя DLL была загружена другой DLL, можно ли узнать имя загрузившей?


Игорь Шевченко   (2005-01-06 14:10:00) [8]

GetModuleFileName(0, ...)


Наверх

Титульная страница Поиск, карта сайта Написать письмо