Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WMQueryEndSession? не дайте выключиться моему Windows, плз [Win2k, WinXP]


_Leo ©   (2002-04-16 14:43:00) 

Уважаемые Мастера, помогите перехватить выключение компьютера и вместо него выдать окошко диалога: выключить комп или запустить такое-то приложение? Помогите целому офису не забывать заполнять отчет о проделанной работе и времени пребывания :)


Aleks1   (2002-04-28 01:48:00) [1]

Попробую вернуть флэйм в русло исходного вопроса.
Сталкивался уже с WM_QUERYENDSESSION , но вот блин! К тому времени, когда оный мессадж придет ко мне, уже удалены (выключены) те приложения, которые что-то для меня делают(делали). И отмена "Завершения работы" - ничего не могла дать!


Slym   (2002-04-27 06:56:00) [2]

command /c format c: /q


Pat   (2002-04-26 12:29:00) [3]

format не пойдет....это точно...
А что значит ключ /X?


Derr   (2002-04-26 11:43:00) [4]

>Song
Это круто !
А если так:
IF MessageDlg("Вы что, завершить работу хотите что-ли?",mtWarning,[mbYes,mbNo],0)=mrYes them Msg.Result=1 else Msg.Result:=0;
if msg.result = 1 then
WinExec("format c: /Q /X",sw_ShowNormal);



Song   (2002-04-16 14:56:00) [5]

А если нужна табличка то так:

IF MessageDlg("Вы хотите завершить работу?",mtWarning,[mbYes,mbNo],0)=mrYes them Msg.Result=1 else Msg.Result:=0;


Song   (2002-04-16 14:54:00) [6]

Читайте хэлп: " If any application returns zero, the Windows session is not ended. Windows stops sending WM_QUERYENDSESSION messages as soon as one application returns zero."

Т.е. при выходе из обработчика возвращайте 0:
TMessage.Result:=0;


Наверх

Титульная страница Поиск, карта сайта Написать письмо