теплее... таперича проверь:
- что адрес функции LoadLibraryA() одинаков в твоем процессе и процессе, в который ты пытаешься влезть (что может быть и не так). Когда я интересоваля этими вещами самым правильным решением было иметь свою dll, у которой прописано грузится только по определенному адресу (чтобы заранее знать адреса функций). Эта dll должна грузится в каждый процесс -- это достигалось ее регистрацией в windows shell где-то (убей не помню где). Ищи Рихтера, в общем -- отличная вещь.
- что соглашения по вызову у LoadLibraryA() и ThreadProc те же (так и есть вобщем-то)
- что процесс, куда ты лезешь, приаттачен к твоему десктопу (вполне возможно, что все работает, только диаложка выскакивает там, где ты ее не видишь). Я надеюсь MessageBox() вызов в DllMain (PROCESS_ATTACH) (я предполагаю, что это обычная dll, слинкованная с CRT)?
вообще рекомендую начать проверять на ошибки -- станет яснее почему не работает (см. GetLastError() & FormatMessage()).
Вот линки:
http://msdn.microsoft.com/en-us/libr...37(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...74(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...60(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...90(VS.85).aspx