Проблема то уже решена, см. моё предыдущее сообщение :)
Но на вопросы обязательно отвечу.
CEM>Это ms spy++ или любое приложение, которое может отлавливать сообщения.
Понял. У меня Winspector. Попробовал: для cmd он не видит никаких сообщений вообще :(
I>>SetTimer(NULL, t_watchForMainApp, 4000, (TIMERPROC)tf_watchForMainApp) I>>Вроде так и делал (ставил NULL вместо окна), иначе таймер и не хотел работать. CEM>Ого. Вот это уже интереснее :) Т.е. даже такой таймер не работает? На вский случай спрошу, в курсе, что оконные и неоконные таймеры различаются по параметрам, возвращаемым значениям и принципу запуска при одной и той же сигнатуре SetTimer?
Не, как раз такой таймер и заработал, но о разных сигнатурах я и не подумал, так как оно заработало и я оставил так как есть.
I>>Попробовал в DLL_PROCESS_ATTACH. I>>И FreeLibraryAndExitThread(hDllInst, 0) и FreeLibrary(hDllInst) завершают тот процесс, из которого вызываются :( Не подходит. CEM>Хмм... не уверен, но если хэндл получить из GetModuleHandle ("<тут_имя_dll>"); ? CEM>Т.е. я делал Free на хэндл, который получал сам, на не тот который в DllMain (hDllInst — это же про него речь?)
Да hDllInst брался с параметров и процесс у меня завершался.
CEM>Так Тотал Коммандер же не консольное окно. Там событий сыпется тысячи штук в секунду. Вся заточка на отцепление именно на _консольность_ с надеждой, что они меньше крутят функцию обработки окна.
Ага, именно это и сыграло в решении :)