вобщем мне хочется узнать какие библиотеки загружены в маей программе, т.е. перечислить их и можно это както сделать без использования api функций?
Как искать процессы и загруженные в них модули в разных версиях Windows, подробно описано тут: http://www.rsdn.ru/article/qna/baseserv/enumproc.xml От себя добавлю, что в случае с ToolHelp32 API модули перечесляются функциями Module32First и Module32Next, которые используются аналогично функциям Process32First и Process32Next А вот без API... Наверное, переписать код нужных функций в свою программу =), или добраться до их кода в билеотеках, прочитав статью "Поиск адресов API в win95-XP"
мне нужно контролировать какие библиотеки загружены в программу, вроде мне кажется что я читал про перечисление dll'ек
Ну так а я о чём? По ссылке, которую я привёл, есть пример перечисления dll'ок с помощью ЕnumProcessModules. Так же там описан способ работы с Process32First (для поиска процессов), а для поиска библиотек есть Module32First. Повторяю - используется аналогично...
спасибо канечно но в этом премере невсё почемуто видно, вот к примеру в pe tools можно увидеть есчё одну dll'ку которую подгружает Punto Switcher для сваей работы
Punto Switcher подгружает её не сразу, а через некоторое время. А список библиотек формируется почти мгновенно после запуска процесса (когда она ещё не подгружена). Прикрути к моему примеру кнопку "Обновить" и увидишь в списке заветную correct.dll =)
чёрт выгружаю этот correct.dll а он наверна получает сообщение о выгрузке и перегружается чёрт как бы ему пакостное что сделать чтоб негрузился снова)
чёт я совсем плохой, вот пример там по двойному нажатию библиотека должна выгружаться но у меня неодна невыгружается хотя возвращает FreeLibrary единицу, чёт я туплю, почему они невыгружаются? _1864306221__ListBox1.rar
Как насчёт invoke GetModuleHandle, OFFSET text вместо invoke LoadLibrary, OFFSET text только жизненно необходимые модули всёравно не выгрузятся, зато выгруженый таким образом correct.dll больше не будет цеплятся (к другим процессам, правда, тоже)
угу помагло,вот странно удаётся к пимеру иногдаоставить минимальное количество :ntdll.dll kernel32.dll user32.dll gdi32.dll при котором программа непадает с ошибкой, некоторые дллки удаётся почемуто неспервого раза выгрузить както хочется чтобы выгружать внедряемые в маю программу странные dll'ки)