![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;