Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.12.2016, 12:51   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Выход из программы при завершении работы windows

Есть программа на Delphi XE. При старте программа сворачивается в трей (используется встроенный компонент TrayIcon). Как сделать чтобы при завершении работы Windows или при выходе из системы программа перехватывала эти события и выключалась? Если возможно нужны примеры кода.

Код сворачивания в трей:

Код:
DM.TrayIcon1.Visible := True;
  DM.TrayIcon1.Hint := 'Журнал заявок';
  // Убираем с панели задач
  ShowWindow(Handle, SW_HIDE); // Скрываем программу
  ShowWindow(Application.Handle, SW_HIDE); // Скрываем кнопку с TaskBar'а
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
    GetWindowLong(Application.Handle, GWL_EXSTYLE) or (not WS_EX_APPWINDOW));
Пробовал делать вот так, но не работает:
Код:
 procedure WMQueryEndSession(var Message: TWMQueryEndSession);
      message WM_QUERYENDSESSION;
Код:
procedure TForm6.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
  lCanClose := True;
  inherited;
end;
Код:
procedure TForm6.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := lCanClose;
  if CanClose then
  begin
    DM.TrayIcon1.Visible := false;
    Application.Terminate;
  end;
end;

http://www.programmersforum.ru/showthread.php?t=301853

Последний раз редактировалось Аватар; 23.12.2016 в 13:19.
Ericnex вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выход из программы при завершении работы windows Ericnex Помощь студентам 2 23.12.2016 21:11
выполнение js кода при завершении программы на delphi xamel87 Общие вопросы Delphi 1 08.05.2011 18:45
Server2008(x64) не может закрыть моё приложение при завершении работы системы, но убивается через ДЗ Человек_Борща Общие вопросы Delphi 6 02.03.2011 17:20
Запуск exe/dll при завершении работы windows 7 AdoL Windows 1 24.12.2010 10:21
Ошибка при завершении программы _-Re@l-_ Общие вопросы Delphi 2 01.09.2010 21:32