| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Закрытие программы |
| Автор: RapMan 17.2.2010, 22:37 |
| Доброе время суток, меня интересует какие меседжи посылает винда для закрытие программы. WM_CLOSE - и так понятно, прикол в том что я хочу убрать возможность закрытие моей проги, обробативаю WM_CLOSE, WM_DESTROY возращаю там FALSE в оконной процедуре. Пробую закрыть прогу диспетчером - не может, пока не выскочит "Принудительно закрыть приложение" - вот если нажать закрыть - то программа идет в даун, как можно от этого избавиться? Какие еще меседжи нужно оброботивать? Заранее Спасибо! |
| Автор: GipsySh 18.2.2010, 12:01 |
| WM_QUIT - ? |
| Автор: BorisVorontsov 18.2.2010, 12:02 |
| Никакие. Тут только поможет перехват NtTerminateProcess |
| Автор: Dem_max 18.2.2010, 15:18 |
| Вообще что ты хочешь получить от своей программы ? |
| Автор: RapMan 18.2.2010, 18:41 |
| GipsySh, попробовал вернуть FALSE - дальше закрывается. BorisVorontsov, Перехват стоит, другое приложение не может используя NtTerminateProcess закрыть мое, но вот диспетчер задач при Завершить принудительно - может, думаю должен еще быть меседж Dem_max, хочу чтобы никто не смог ее закрыть. |
| Автор: bra1ny 18.2.2010, 18:58 |
| Какой перехват код покажите? |
| Автор: RapMan 18.2.2010, 23:32 | ||
| перехват нормально работает, проверено. Мое приложение может закрыть, только мое приложение
а так оконные сообщения глушу в своей WndProc. Какие еще меседжы говорят приложению закрыться? |
| Автор: Dem_max 19.2.2010, 13:27 | ||||||
т.е. тебе шлют наверное WM_QUIT, и твоя прога выгружается. Ну если ты уж не отреагировал на нее то скорее всего твой процесс винда просто прибьёт. |
| Автор: bra1ny 19.2.2010, 15:05 | ||||||||
Дело в том , что csrss поступает так. При завершении системы , она рассылает сообщения программам , и ждет там определенный интервал если по истечению интервала приложение не закроется то и выскакивает это окно о принудительном завершении. Я вчера ради интереса проделал тоже самое , и мне не получилось убить свое приложение никак. Вот я и спросил код перехвата(но автор уверен что все работает корректно )))) |
| Автор: RapMan 19.2.2010, 16:08 |
| bra1ny, другие программы не могли закрыть, а вот csrss - мог |
| Автор: bra1ny 19.2.2010, 16:18 |
| А то есть я про csrss в самом начале прав был? отредактил правда то сообщение |
| Автор: RapMan 19.2.2010, 16:57 |
| ну csrss завершает приложение когда в диспетчере нажать принудительное закрытие. |