Вопрос № 31610: Здравствуйте. Мне необходимо сделать так, чтобы никакие всплывающие окна не отбирали фокуса (активности) у определенного окна. Приемлимы любые подходы. Я пробовал HOOKами перехватывать разные сообщения - ни к чему хорошему не привело. Максимум получи...
Вопрос № 31.610
Здравствуйте. Мне необходимо сделать так, чтобы никакие всплывающие окна не отбирали фокуса (активности) у определенного окна. Приемлимы любые подходы. Я пробовал HOOKами перехватывать разные сообщения - ни к чему хорошему не привело. Максимум получилось возвращать фокус обратно после захвата, что работает далеко не всегда и не так, как хотелось (часто начинает флешить мое окно в таскбаре и пр.).
Спасибо.
Отправлен: 16.12.2005, 12:59
Вопрос задал: ipshka (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Поляков Игорь Валентинович!
Для этого главное окно нужно сделать MDIParent, а все остальные - MDIChild. Если же речь идёт о сторонних приложениях, которые перехватывают фокус на себя, то тут вряд-ли что можно сделать. В MDI-приложении основное окно никогда не теряет фокус и при этом активны подокна.
--------- В то время как остальные процессоры уже закончили работу, процессоры VIA продолжают работать, работать и работать! :))
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 16.12.2005, 13:06
Отвечает: estiGi
Здравствуйте, ipshka!
Врядли такое возможно. Это противоречило бы принципу работы самой системы - многозадачности, очереди сообщений.
Насколько я помню, то в системе только два таких окна - вызываемое по Ctrl-Alt-Del и выход из системы/перезагрузка. Но у них и принцип работы немного другой. Первое просто убирает все окна в системе (ну, наверняка не "просто убирает :)"), второе - модальное по отношении к системе в целом, если можно так выразиться. Если не ошибаюсь, оба окна из процесса winlogon
То есть, теоретически можно, но наверняка это более низкий уровень, может, если прибиться к winlogon, то получится... а во-вторых, лично мне очень сильно бы не понравилось, если бы какая-то программа начала себя вести таким образом.
Ответ отправил: estiGi (статус: 9-ый класс)
Отправлен: 16.12.2005, 19:27