Re[2]: LoadLibrary, DllMain, и DeadLock???
От: Аноним  
Дата: 04.02.06 05:40
Оценка:
Здравствуйте, Slava Antonov, Вы писали:

SA>Hello fdn, you wrote:


SA>Мне думается что они dll грузят в отдельном потоке.

SA>А виснет мне думается потому, раз они огранизуют цикл выборки сообщений прямо в DllMain, то LoadLibrary ждет, пока она не завершит свою работу.

К сожалению не всё так просто. Как я писал выше, чтобы получить HWND окна они в dll вызывают GetActiveWindow(VOID);. Она вернёт HWND активного окна той нити из которой будте вызвана. Т.е. если создать dll из отдельной нити, то HWND будет равно 0, и мы опять получаем MessageBox с ошибкой.

В DllMain они точно создают свою нить, и виснит всё в WaitForSingleObject. Но как тогда они загружают dll в своей программе???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.