| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Закрытие выскакивающих окон |
| Автор: steven13 31.3.2005, 16:50 | ||||
| Есть проблема, постоянно выскакивает окно, и там нужно нажать кнопку ОК. В ручную конкретно надоело. Сделал
Но она закрывает программу а но не нажимает на кнопку ОК. Проблема в том что если назать на НЕТ или Закрыть окно, то програма перестаёт работать! Думал так будет:
Но пишет WM_OK - не задекларировано. Кнопка "ОК" стоит как "First child windows" Как на неё можно нажать? Сейчас нажимаю мышкой по точному адресу на экране. Но это непреемлемый вариант. |
| Автор: _hunter 31.3.2005, 17:08 |
| и правильно говорит. нет такого сообщения. кнопке можно посылать WM_LBUTTONDOWN + ты неправильно окно ищеш ( кнопка -- это дочернее окно ) сначала находи родительское, а уже потом в нем ищи кнопку ( EnumChildWindows() ) |
| Автор: jorkug 1.4.2005, 14:27 | ||||
и:
|
| Автор: steven13 1.4.2005, 18:17 |
| hunter Спасибо, я понял что нужно копать глубже. Но как работает EnumChildWindows() - догнать пока немогу. jorkug SendMessageA' : cannot convert parameter 4 from 'char [2]' to 'LPARAM' This conversion requires a reinterpret_cast, a C-style cast or function-style cast |
| Автор: _hunter 1.4.2005, 18:28 |
| передаеш в эту функцию указатель на другую функцию, в которую будут передаваться все дочерние окна. попробуй текст не скопипастить, а вручную написать ( или покажи этот кусок ). потому как должно работать... |
| Автор: steven13 1.4.2005, 19:07 | ||
Вот робочий вариант:
|
| Автор: _hunter 1.4.2005, 19:19 |
| читаем справку: To continue enumeration, the callback function must return TRUE; to stop enumeration, it must return FALSE. соответственно пишем return FALSE; |
| Автор: steven13 2.4.2005, 04:14 | ||||
Первая часть:
Вторая часть:
После нажатия на кнопку ОК, открывается ещё одно МОДАЛЬНОЕ окно, где перреспрашивают, "Вы действительно уверены?". Но програма дальше ничего не обрабатывает, а ждёт пока я закрою это окно. Как мне нажать ещё на этом окне "ОК"? ЗЫ: Пока сделал две отдельные програмы, которые закрываю каждая своё окно. Но это изврат какой-то получается... |
| Автор: steven13 2.4.2005, 16:22 | ||||
http://forum.vingrad.ru/index.php?showtopic=39465
Помогло!!! |
| Автор: jorkug 2.4.2005, 16:25 |
| Если не ошибаюсь, это окно является Child'oм первого. Появляется оно почти мгновенно, так что можно поставить задержку и закрыть его тем же способом. |