![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Одним методом действия, моего манагера окон, над найденным окном, является "прибить окно". С обычными окошками работает и WM_CLOSE. Но виндосский MessageBox делает #32270(Dialog) окно, у которой заблокирована кнопка [X], и это окно не отвечает на wm_close должным образом. Как убить такое окно? Понятное дело, что там есть втыкательные копки, но как-то не хочется писать эвристический анализатор, длясодержимого таких оконе, чтобы программа сама "знала" куда правильно нажать. Я покопался в стиле окна, и там есть WS_SYSMENU. Создал демо-приложение, с копипаст-кодом включения/отключения кнопки "закрыть". Но опять неудачно, демо-приложение закрывается при отправке ему WM_CLOSE, хотя кнопка [x] заблокирована. Может я не туды копаю, а может не то сообщение шлю.. как быть? ADDED Нагуглил про Wm_SYSCOMMAND и SC_CLOSE. Цитата:
Но эффекта 0. Страдалец вот он: Код:
Последний раз редактировалось Человек_Борща; 21.03.2012 в 13:16. |
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
Тут надо бы учесть, что MessageBox это не просто процедурка для вывода окошка, но ещё и функция, возвращающая действие пользователя. Поэтому на кнопки нажимать придется.
Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Проверил. Если делать case/switch и смотреть какаую кнопку нажал юзер, то wm_close, sc_close блокируются и выход - нажимать кнопки.
Альтернативу придумал - брать parent window и слать ему wm_close. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
D\IBUS и с чем его едят. | Alex Cones | Операционные системы общие вопросы | 4 | 12.03.2010 10:34 |
Как убить окно? Wm_close? | TwiX | Общие вопросы Delphi | 11 | 08.12.2009 21:54 |
Маппинг, с чем его едят? | SunKnight | Общие вопросы .NET | 0 | 15.05.2009 22:25 |
Прибить Create Process с содержимым | Sashunya | Win Api | 4 | 06.11.2007 16:23 |
XP Manifest И с чем его едят | M@rsel | Win Api | 2 | 20.12.2006 15:20 |