(Как зная имя Dll узнать адресс по которому она загружена ?) &&
(Как зная имя Dll узнать адресс по которому она загружена ?) &&
(Как зная адресс по которому dll загружена узнать ее имя ?)
Я не хочу использовать Toolhlp и иже с ними. Можно ли это узнать используя только функции из Kernel32.dll или какие-нить трюки ?
2. GetModuleFileName
GetModuleHandle(), если мне не изменяет память, кернел32 вроде всегда на одном адрессе весит
Да kernel32.dll грузится по определенному адресу, а остальные как найти.
Я сталкивалсо с такой проблемой, суть моей была такова - зная имя длл, мне нужно было динамически загрузить ее и вызвать оттуда процедуру. Решил так: LoadLibrary()+GetProcAddress(). Умные люди посоветовали использовать GetModuleHandle()+GetProcAddress()
Цитата: CTA}|{EP
не GetModuleFileName не подходит эта собака retrieves the fully-qualified path for the file that contains the specified module that the current process owns.
Ну, так в чём проблема? Вот и получишь "fully-qualified path", а из него - имя библиотеки. Хэндл модуля и есть адрес, по которому она загружена.
хорошо а теперь мона по адресу имя ?
Сначало вызываешь процедуру возврата адресса ака хендла, потом процедуру, которую посоветовал &&&&M с параментрами этого адресса GetModuleFileName. Поидее ты должен получить имя...
Точно - так и есть ! Всем спасибо.
Были рады помочь.