;---------------------------------------------------------------------------- ; DLLSkeleton.asm ;---------------------------------------------------------------------------- .386 .model flat,stdcall option casemap:none include C:\masm32\include\windows.inc include C:\masm32\include\user32.inc include C:\masm32\include\kernel32.inc includelib C:\masm32\lib\user32.lib includelib C:\masm32\lib\kernel32.lib .data .code Control proc hInstDLL:HINSTANCE, reasonWORD, reserved1WORD .WHILE invoke Sleep,100 .ENDW mov eax,TRUE ret Control Endp End Control Что будет при загрузке такой DLL... Если я не правильно придумал то подскажите, мне нужно разместить процедуру в длл, процедура в виде цикла, после мне нужно в отдельном процессе вызвать эту процедуру
При выполнении длл-мейн все потоки в процессе блокируются до того момента, пока длл-мейн не вернет управление. Соответственно, твоя длл повесит процесс. В длл-мейн создай поток на твою процедуру (CreateThread) После того, как длл-мейн вернет управление - потоки возобновятся, включая твой вновь созданный.
int2e А в DllMain можно создавать потоки? У меня вроде были какие-то траблы с CreateThread в DllMain...
а dllmain это не процедура? ребята вы отвообще знаете о чем рассуждаете. Код (Text): BOOL WINAPI DllEntryPoint( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved ); достаточно добавить ее в список экспорта (или найти dll entry в PE-заголовке) и выдержать этот вызов, но что за проблемы не понятно. Как говорится - Код в студию!
да потому что параметры к процедуре неизвестны, что будет делать процедура - неизвестно, будут ли критические секции - неизвестно. Поэтому и предложили вынести отдельной функцией. Так что выебнуться у тебя не получилось. П.С.: ты когда длл пишешь, тоже весь код только в дллмейн пихаешь? Тебе с такими талантами надо свою ось накодить.