Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
1-1129886616
VID
2005-10-21 13:23
2005.11.13
Как выводить запрос на сохранение измений в Excel ?


6-1122709435
Масяня
2005-07-30 11:43
2005.11.13
Скан компьютеров в сети


2-1129632747
ne0n
2005-10-18 14:52
2005.11.13
DWORD--->String


14-1129710010
Nadyafra
2005-10-19 12:20
2005.11.13
Срочно требуется ПРОГРАММИСТ DELPHI/ORACLE (от 1300-2000 у.е.)


8-1118270419
ДЫМ
2005-06-09 02:40
2005.11.13
Нужна быстрая графическая библиотека, чтобы рисовать примитивы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский