Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Окно завершение работы windows


Автор: Михалыч 27.4.2009, 13:22
Подскажите как отловить окно завершение работы windows.Хотел по названию окна,но не закрывает
Код

var
h:hWnd;
begin
h:=FindWindow(nil, 'Выключить компьютер');
if h=0 then exit;
SendMessage(h, WM_DESTROY, 0,0);
end;


Автор: CodeMonkey 27.4.2009, 14:19
А зачем?
Вы случайно не хотите узнать, когда пользователь выключает машину?

Автор: Михалыч 27.4.2009, 16:40
Именно это я и хочу узнать

Автор: CodeMonkey 27.4.2009, 17:34
Ну тогда http://gunsmoker.blogspot.com/2008/10/x-y-z.html. Вам нужно http://msdn.microsoft.com/en-us/library/aa376889(VS.85).aspx.

Автор: AntonN 27.4.2009, 18:09
а он наверное хочет ее предотвратить, убивая окошко smile

Автор: CodeMonkey 27.4.2009, 19:59
Цитата
а он наверное хочет ее предотвратить

Предотвращение завершения работы также осуществляется ответом на сообщения. См. также http://msdn.microsoft.com/en-us/library/aa376890(VS.85).aspx. В Windows Vista для этого также используется http://msdn.microsoft.com/en-us/library/aa376877(VS.85).aspx.

Автор: Ofer 28.4.2009, 12:17
Михалыч, как не дать вырубить комп можешь посмотреть в DRKB  smile 

Код

private

procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;

end;

 

Implementation

 

procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);

begin

if MessageDlg('Close Windows now/ Windows beenden?',

                           mtConfirmation,

                           [mbYes,mbNo], 0) = mrNo then

     Msg.Result := 0

  else

     Msg.Result := 1;

end;


Автор: AntonN 28.4.2009, 21:45
Ofer, однако это не блокирует завершение других программ, и в итоге компьютер будет "полувыключенным" smile

Автор: dumb 1.5.2009, 03:42
Цитата(AntonN @  28.4.2009,  21:45 Найти цитируемый пост)
однако это не блокирует завершение других программ
можно попробовать выкрутиться, используя http://msdn.microsoft.com/en-us/library/ms686227(VS.85).aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)