| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > самовыгрузка динамической библиотеки |
| Автор: shara 13.1.2009, 23:31 | ||
хочу научиться выгружать свою динамическую DLLку из программы, точнее чтобы библиотека сама выгружалась. я пробовал так:
но сия строчка полностью завершает выполнение всей программы что абсолютно неприемлемо пробовал еще FreeLibraryAndExitThread - эффект аналогичен можно конечно не париться и не выгружать либу из файла... темболее что сам EXEфайл ее к себе не подключает (в идеале даже не подозревает о существовании библиотеки) но все же хочется ее убрать(читай выгрузить) если конкретный исполняемый файл нам не интересен |
| Автор: Romikgy 13.1.2009, 23:52 |
попробуй вместо нуль поставить хендл библиотеки , ибо нуль это самого приложения и библа и приложение выполняется в одном и томже триде! |
| Автор: dumb 14.1.2009, 17:18 |
| GetModuleHandle("имя_твоей_длл") |
| Автор: Earnest 14.1.2009, 17:41 |
| Или запомнить его на входе в DllMain - там тебе его дают. |
| Автор: shara 14.1.2009, 21:03 | ||
| всем спасибо но я нашел более простой способ: если ДЛЛка возвращает при обработке сообщения DLL_PROCESS_ATTACH в DllMain значение FALSE то она автоматически вызывается еще раз с сообщением DLL_PROCESS_DETACH и автоматически выгружается из процесса (как раз то что мне и нужно было). Даже вызывать никаких функций не нужно - красота цитата из MSDN
еще раз спасибо всем за помощь |