Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как убить MS-DOS процесс WINOA386.MOD?

4.8K
02 апреля 2004 года
Toc_vremenno
17 / / 02.04.2004
Ситуация такая. MFC. Win98. Я запустил досовское окно функцией CreateProcess - это простой *.bat файл. У меня есть handle и процесса (Process), и нити (Thread). Процесс, то есть этот самый *.bat файл выполняется без своего консольного окошка (режим SW_HIDE). Как только пользователь захочет перезапустить компьютер или просто сменить пользователя (logoff), система принимает жуткий вид и выдаётся противное сообщение от Windows с заголовком моего *.bat файла - "Вы должны завершить эту программу до того, как выйдете из виндовс. Да - завершить, Отмена - продолжить работу". Я же хочу, чтобы моё приложение, которое и создало этот процесс, само убивало его, как только возникает подобная ситуация. Например, перед завершением работы я получаю WM_CLOSE и убиваю процесс. Для этого отлично помогает функция TerminateProcess. Но я никак не могу поймать этот момент! Возможно ли, что главное окно получает WM_CLOSE уже только после этого жуткого предупреждения? В каком порядке окна получают WM_CLOSE при завершении работы пользователем?

Кто чего посоветует?
4.8K
04 апреля 2004 года
Toc_vremenno
17 / / 02.04.2004
Блин, неужели никто не поможет?
2.6K
05 апреля 2004 года
Hearse
89 / / 19.01.2004
Во-первых, если мне не изменяет память, винда сначала пытается завершить процесс посылая ему WM_DESTROY, так что IMHO логичнее обрабатывать это событие.
Во-вторых, есть функция SetProcessShutdownParameters, с помощью которй можно установить очередность в которой будет завершаться процесс, т.е. в первую очередь, в последнюю очередь, или между какими-либо процессами.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог