|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2012, 11:39 | #1 |
Новичок
Джуниор
Регистрация: 24.02.2012
Сообщений: 4
|
Создание окна во внедряемой dll
Во внедренной длл хочу создать окно. Создаю, оно всплывает, но когда DllMain() завершается окно уничтожается. Как сделать чтобы не уничтожалось?
Функция создает окно: Код:
Код:
Последний раз редактировалось rpy3uH; 24.02.2012 в 11:50. |
24.02.2012, 14:21 | #2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
|
24.02.2012, 14:52 | #3 |
Новичок
Джуниор
Регистрация: 24.02.2012
Сообщений: 4
|
С длл все в порядке, как сидела так и сидит в процессе.
|
24.02.2012, 15:01 | #4 |
Новичок
Джуниор
Регистрация: 24.02.2012
Сообщений: 4
|
Кстати не подскажете функцию winapi которая транслирует msg в соответствующий числу текст ("WM_CLOSE" например и т.п.).?
P.S. Обработчик тоже присутствует: Код:
|
24.02.2012, 16:15 | #5 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
И еще, что такое wndHandle? Если это хендл родительского(хозяйского) окна, то что переменная делает в wnd.hInstance=(HINSTANCE)wndHandle, если это все же хендл модуля то ему не место в девятом параметре CreateWindowEx Может у Вас еще есть похожие чудеса в непредставленной WndProc. Добавлю. Видимо завершается поток ответственный за внедрение в процесс, с ним уничтожается и окно. Попробуйте после ShowWindow Код:
Последний раз редактировалось EUGY; 24.02.2012 в 16:42. |
|
24.02.2012, 16:41 | #6 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Предполагается, наверное, что сообщения каким то мистическим образом сами из очереди попадут в WndProc без цикла приема сообщений, не так ли?
GetMessage/TranslateMessage/DispatchMessage/etc Окно не уничтожается. Оно создано, но, собственно, очередь сообщений никто не обрабатывает.
Нет, ну правда..
|
24.02.2012, 17:08 | #7 |
Форумчанин
Регистрация: 11.01.2012
Сообщений: 177
|
так не проканает, так как программа зависнет при загрузке DLL. цикл нужно в другом месте, например, в отдельном потоке.
progromore.i2p - первый русскоязычный портал программистов в скрытосети
|
24.02.2012, 17:18 | #8 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Ну, в отдельный поток надо выносить не цикл, а саму CreateMessageWindow
|
24.02.2012, 17:36 | #9 |
Форумчанин
Регистрация: 11.01.2012
Сообщений: 177
|
ну да, так будет намного более логичнее
progromore.i2p - первый русскоязычный портал программистов в скрытосети
|
24.02.2012, 18:50 | #10 |
Новичок
Джуниор
Регистрация: 24.02.2012
Сообщений: 4
|
Все заработало. Спасибо большое всем откликнувшимся
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание окна CreateWindowEx | _PROGRAMM_ | Win Api | 10 | 21.02.2012 14:16 |
Создание дочернего окна | ARt44 | Win Api | 6 | 01.10.2011 00:50 |
Создание второго окна | zotox | Win Api | 0 | 30.12.2010 17:09 |
Создание окна в DLL | Iron Lappu | Visual C++ | 1 | 25.12.2010 00:50 |
Создание окна | Stas96 | Win Api | 1 | 29.10.2010 21:58 |