void StartThread(const HINSTANCE& hinstDLL) {
//...манипуляции с приложением..
while (условие_какое-то)
{
Sleep(1);
}
FreeLibraryAndExitThread(hinstDLL, 0);
}
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH://Вызывается первым
StartThread(hinstDLL);
return 1;
case DLL_PROCESS_DETACH://вызывается после освобождения библиотеки
break;
case DLL_THREAD_ATTACH://вызывается при создании потока
break;
case DLL_THREAD_DETACH://вызывается после разрушения потока
break;
}
return TRUE;
}