Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ДЕСАНТУРА
6 / 6 / 3
Регистрация: 25.02.2015
Сообщений: 179
#1

Выгрузка dll - C++

28.09.2015, 13:08. Просмотров 222. Ответов 0
Метки нет (Все метки)

В общем проблема в следующем:
Dll загружается в мое приложение, затем выполняет свою задачу и затем я ее выгружаю, но при выгрузке мое приложение зависает намертво! Подскажите в чем ошибка пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void thread(HINSTANCE hinstDLL) {
 
    while (true) {
 
        if (getKey(VK_END))break;
 
        Sleep(1);
    }
 
    Sleep(100);
    FreeLibraryAndExitThread(hinstDLL, 0);
}
 
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
    case DLL_PROCESS_ATTACH://Вызывается первым 
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)thread, hinstDLL, 0, 0);
        return 1;
    case DLL_PROCESS_DETACH://вызывается после освобождения библиотеки
        break;
    case DLL_THREAD_ATTACH://вызывается при создании потока
        break;
    case DLL_THREAD_DETACH://вызывается после разрушения потока
        break;
    }
 
    return TRUE;
}
Могу пожаловаться только на то, что этот код отлично работал на вин 7,8,8.1, а вот на вин 10(на которую я по дурости перешел) начались проблемы, причем после перезагрузке компа, этот код иногда начинает работать и все отлично выгружается и все таки хотелось бы думать, что проблема в коде, а не в виндовс 10.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2015, 13:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выгрузка dll (C++):

Выгрузка заинжекченной dll - C++
Уважаемые, имею следующую проблему: В приложение инжектится dll через загрузчик, моя задача - любым способом искоренить эту dllиз...

Выгрузка dll из процесса - C++
Здраствуйте. DLL подключается к процессу при его старте, и мне нужно чтобы при определенном условии он сам выгружался. Делаю это так: ...

Выгрузка DLL из стороннего процесса - C++
Как возможно выгрузить DLL из стороннего процесса, желательно пару примеров.

Точка входа в процедуру InterlockedCompareExchange64 не найдена в библиотеке DLL KERNEL32.DLL - C++
День добрый! При запуске моей программы (много моего кода + много разных сторонних dll) на WinXP SP2, получаем соответствующую ошибку...

Добавление своей dll в список dll подгружаемых процессом чужого процесса - C++
Вообще вопрос такой,как можно внедрить свою dll в список Import чужого не запущенного процесса?Не изменяя структуры файла.

Dll файл в exe файле. Вшить dll libcurl - C++
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe. Enigma Virtual Box использовать нельзя,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2015, 13:08
Привет! Вот еще темы с ответами:

Как узнать путь к загруженной DLL из самой DLL? - C++
Создаю небольшую программку в папке c:/test/app/, есть DLL в папке c:/test/dll/. В коде самой dll, после её подгрузки в программу, можно...

Запись из внедренной dll в другую dll этого процесса - C++
main.cpp #include <Windows.h> extern int writeprocess(); DWORD WINAPI MainThread(LPVOID lpParam) { ...

Как узнать зависимость DLL-ки от других DLL-ек? - C++
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд. Есть какая...

Обращение к ресурсам DLL из самой DLL - C++
Коллеги, добрый день. Получил следующее задание - Создать библиотеку, DLL назначение которой, выполнить экспорт некоторой функции, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru