Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

QueryEndSession - как чуток подождать?..   Найти похожие ветки 

 
Vladimyr ©   (2005-03-16 17:03) [0]

Всем добрый день, посоветуйте, как правильно использовать
обработчик OnQueryEndSession?

    Мне нужно притормозить завершение работы Windows XP
на несколько секунд, пока моя программа доделает свои дела ;)
С большим удивлением заметил, что это не так-то просто!
Установка в обработчике Accept := false полностью
прерывает процесс Shutdown"а, а использование цикла ожидания типа

while Some_Custom_Flag do Sleep (100); Accept := true;

не приостанавливает выполнение процесса - программа всё равно
закрывается!

    Прервать Shutdown, а потом инициировать его самому ещё раз,
непросто по причине того, тогда нужно как-то определить, что же
это было - выключение компьютера или перезагрузка.


 
thaddy   (2005-03-16 17:51) [1]

You can use an Observer thread to monitor if your program has finished. If the thread ends after waitforsingleobject on the main thread, you can set accept to true.


 
Vladimyr ©   (2005-03-16 18:58) [2]

Thank, Thaddy, but how can I stop and wait inside OnQueryEndSession procedure?
I shouldn"t return neither true nor false to the system till the main thread is finished!


 
thaddy   (2005-03-16 19:48) [3]

Use an API event object on your task. That"s how I do it.


 
Vladimyr ©   (2005-03-16 20:34) [4]

As I suspected :)
Thank you a lot, I"ll try...


 
Vladimyr ©   (2005-03-17 00:40) [5]

Unfortunately, it doesn"t work.  :(

WaitForSingleObject is waiting,
but the program is being closed in spite of it,
if I do not return Accept := false.

Otherwise, if I do, the shutdown process is stopped
and needs to be started one more time.

What I can"t do programmely since I don"t know
if it was restarting the system or turning off the PC.

So, all the same...



Страницы: 1 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
5-1110705262
Rius
2005-03-13 12:14
2005.11.13
Как разделить пакет на runtime и designtime?


6-1122847694
Flood_control
2005-08-01 02:08
2005.11.13
Как организовать отображение на ShellListView


5-1109775581
вопрос
2005-03-02 17:59
2005.11.13
Как из компонента узнать, что в форме выполнилось событие ShortC


14-1130057138
Piter
2005-10-23 12:45
2005.11.13
А что случилось с сервисами NextMail?


4-1124876130
Scordion
2005-08-24 13:35
2005.11.13
Как сделать форму поверх всех приложений?