skilk Posted August 5, 2010 Report Share Posted August 5, 2010 (edited) Доброго времени суток. Подскажите как правильно завершить поток при завершении работы ОС, так как если его не завершить, то система не может выключиться. Заранее спасибо. Реализация - Delphi 7 Edited August 5, 2010 by skilk Link to comment Share on other sites More sharing options...
Amsterdam Posted August 25, 2010 Report Share Posted August 25, 2010 Поздновато, конечно, но :blushing: Я пользовался обработкой приходящих форме сообщений - обрабатывал WM_QUERYENDSESSION, в обработчике сообщения завершал поток. Link to comment Share on other sites More sharing options...
skilk Posted September 22, 2010 Author Report Share Posted September 22, 2010 А если нет формы то как быть? Link to comment Share on other sites More sharing options...
Amsterdam Posted September 30, 2010 Report Share Posted September 30, 2010 (edited) В C++ Builder я бы так делал: // где-то при старте программы разметить невизуальное окноHWND Handle = AllocateHWnd(MSGDispatcher);...void __fastcall TSomeClass::MSGDispatcher(TMessage& msg){ switch (msg.Msg) {case WM_QUERYENDSESSION:// действия по завершению потока... }}...// где-то в самом концеDeallocateHWnd(Handle); Delphi подзабыл уже, переведешь сам, я думаю :mad: Edited September 30, 2010 by Amsterdam Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now