skilk Опубликовано 5 августа, 2010 Жалоба Поделиться Опубликовано 5 августа, 2010 (изменено) Доброго времени суток. Подскажите как правильно завершить поток при завершении работы ОС, так как если его не завершить, то система не может выключиться. Заранее спасибо. Реализация - Delphi 7 Изменено 5 августа, 2010 пользователем skilk Ссылка на комментарий Поделиться на другие сайты Поделиться
Amsterdam Опубликовано 25 августа, 2010 Жалоба Поделиться Опубликовано 25 августа, 2010 Поздновато, конечно, но :blushing: Я пользовался обработкой приходящих форме сообщений - обрабатывал WM_QUERYENDSESSION, в обработчике сообщения завершал поток. Ссылка на комментарий Поделиться на другие сайты Поделиться
skilk Опубликовано 22 сентября, 2010 Автор Жалоба Поделиться Опубликовано 22 сентября, 2010 А если нет формы то как быть? Ссылка на комментарий Поделиться на другие сайты Поделиться
Amsterdam Опубликовано 30 сентября, 2010 Жалоба Поделиться Опубликовано 30 сентября, 2010 (изменено) В C++ Builder я бы так делал: // где-то при старте программы разметить невизуальное окноHWND Handle = AllocateHWnd(MSGDispatcher);...void __fastcall TSomeClass::MSGDispatcher(TMessage& msg){ switch (msg.Msg) {case WM_QUERYENDSESSION:// действия по завершению потока... }}...// где-то в самом концеDeallocateHWnd(Handle); Delphi подзабыл уже, переведешь сам, я думаю :mad: Изменено 30 сентября, 2010 пользователем Amsterdam Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти