![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
Доброе время суток, меня интересует какие меседжи посылает винда для закрытие программы. WM_CLOSE - и так понятно, прикол в том что я хочу убрать возможность закрытие моей проги, обробативаю WM_CLOSE, WM_DESTROY возращаю там FALSE в оконной процедуре. Пробую закрыть прогу диспетчером - не может, пока не выскочит "Принудительно закрыть приложение" - вот если нажать закрыть - то программа идет в даун, как можно от этого избавиться? Какие еще меседжи нужно оброботивать?
Заранее Спасибо! --------------------
здесь хреновые модераторы... |
|||
|
||||
GipsySh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 6.2.2007 Репутация: нет Всего: нет |
WM_QUIT - ?
|
|||
|
||||
BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 4 Всего: 10 |
Никакие. Тут только поможет перехват NtTerminateProcess
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Вообще что ты хочешь получить от своей программы ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
GipsySh,
попробовал вернуть FALSE - дальше закрывается. BorisVorontsov, Перехват стоит, другое приложение не может используя NtTerminateProcess закрыть мое, но вот диспетчер задач при Завершить принудительно - может, думаю должен еще быть меседж Dem_max, хочу чтобы никто не смог ее закрыть. --------------------
здесь хреновые модераторы... |
|||
|
||||
bra1ny |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 26.12.2008 Репутация: 2 Всего: 3 |
Какой перехват код покажите?
Это сообщение отредактировал(а) bra1ny - 18.2.2010, 20:07 --------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России. |
|||
|
||||
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
перехват нормально работает, проверено.
Мое приложение может закрыть, только мое приложение ![]()
а так оконные сообщения глушу в своей WndProc. Какие еще меседжы говорят приложению закрыться? --------------------
здесь хреновые модераторы... |
|||
|
||||
Dem_max |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
т.е. тебе шлют наверное WM_QUIT, и твоя прога выгружается. Ну если ты уж не отреагировал на нее то скорее всего твой процесс винда просто прибьёт. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||
|
|||||||
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
а как она может меня прибить если NtTerminateProcess перехвачен и запрещает закрытие моего процесса? ну на данное сообщение я возвращаю FALSE. --------------------
здесь хреновые модераторы... |
|||
|
||||
bra1ny |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 26.12.2008 Репутация: 2 Всего: 3 |
Дело в том , что csrss поступает так. При завершении системы , она рассылает сообщения программам , и ждет там определенный интервал если по истечению интервала приложение не закроется то и выскакивает это окно о принудительном завершении. Я вчера ради интереса проделал тоже самое , и мне не получилось убить свое приложение никак. Вот я и спросил код перехвата(но автор уверен что все работает корректно )))) Это сообщение отредактировал(а) bra1ny - 19.2.2010, 15:08 --------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России. |
||||||||
|
|||||||||
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
bra1ny, другие программы не могли закрыть, а вот csrss - мог
![]() --------------------
здесь хреновые модераторы... |
|||
|
||||
bra1ny |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 26.12.2008 Репутация: 2 Всего: 3 |
А то есть я про csrss в самом начале прав был? отредактил правда то сообщение
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России. |
|||
|
||||
RapMan |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
ну csrss завершает приложение когда в диспетчере нажать принудительное закрытие.
--------------------
здесь хреновые модераторы... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |