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

Вниз

Как перехватить завершение работы Windows ?   Найти похожие ветки 

 
_Ivan   (2005-07-06 18:29) [0]

Подскажите как из своей программы перехватить завершение/перезагрузку Windows ?
Спасибо!


 
begin...end ©   (2005-07-06 18:44) [1]

WM_ENDSESSION ?


 
Ванечка   (2005-07-07 09:48) [2]

Вот держи:
{
 To detect a Windows Shutdown, you must trap the
 WM_EndSession message.
 Declare a message handling procedure in your Form"s Private section.

 Um herauszufinden, ob Windows heruntergefahren wird, muss
 die WM_EndSession abgefangen werden.
}

type
  TForm1 = class(TForm)
  private
    procedure WMEndSession(var Msg: TWMEndSession); message WM_ENDSESSION;
  public
  end;

implementation

{$R *.DFM}

procedure TForm1.WMEndSession(var Msg: TWMEndSession);
begin
  if Msg.EndSession = True then
    ShowMessage("Windows is shutting down!");
  inherited;
end;


 
_Ivan   (2005-07-07 11:51) [3]

>Ванечка   (07.07.05 09:48) [2]
Спасибо!
А как быть, если приложение не имеет формы ?


 
Digitman ©   (2005-07-07 11:55) [4]


> как быть, если приложение не имеет формы ?


Application используется ?


 
Игорь Шевченко ©   (2005-07-07 12:00) [5]


> А как быть, если приложение не имеет формы ?


Для консольных - SetConsoleCtrlHandler и обрабатывать CTRL_SHUTDOWN_EVENT


 
_Ivan   (2005-07-07 12:00) [6]

Digitman ©   (07.07.05 11:55) [4]
Да. Но мне хотелось бы узнать, как это сделать средствами API


 
_Ivan   (2005-07-07 12:01) [7]

Спасибо, сейчас попробую


 
Digitman ©   (2005-07-07 12:23) [8]


> _Ivan   (07.07.05 12:00) [6]


для GUI-приложений :

hwnd := CreateWindow(..);
..
while GetMessage(hwnd, Msg, 0, 0, 0) do begin
 if Msg.message = WM_ENDSESSION then ..;
 TranslateMessage(Msg);
 DispatchMessage(Msg);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
3-1121422673
erika
2005-07-15 14:17
2005.08.28
Формирование запроса для отбора записей


3-1121416353
DD
2005-07-15 12:32
2005.08.28
Динамический запрос в Оракле 8


1-1123447715
makvell
2005-08-08 00:48
2005.08.28
А как бы поподробнее и на русском узнать...


9-1115431469
Anim
2005-05-07 06:04
2005.08.28
Как откомпилировать 3d character animator ?


3-1121775517
BlackWhite
2005-07-19 16:18
2005.08.28
Разнотипные поля в таблице = ОШИБКА