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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 10:43   #1
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
Сообщение Как закрыть приложение при выключение Winsows

Я пишу программу которая может сворачиваться в трей-иконку, которая может добавиться в автозапуск и наоборот. Я думаю многие знают, что все программы с такими функциями умею сами закрываться по нажатию кнопки "выключение" .

ВОПРОС. Как сделать так что бы программа сама закрывалась при выключение? И будет ли это работать в других версиях Windows?(у меня Windows XP)
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 11:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как сделать так что бы программа сама закрывалась при выключение?
Сделать ее оконной и ловить сообщение...
Впрочем чего я говорю - вот смотри: http://www.programmersforum.ru/showt...UERYENDSESSION
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.09.2009, 11:53   #3
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
По умолчанию

Stilet, я посмотрел в этой теме - http://www.programmersforum.ru/showt...UERYENDSESSION
нифига не пашет!!!
пишет несколько ошибок здесь:
Цитата:
procedure TMainForm.WMOFF(var Msg: TWMQueryEndSession);
begin
//здесь ваши действия
inherited;
end;
___
кто нить может реально помочь, а не бросать пыль в глаза только запутывая?

________
да и ещё я объявил это в разделе private:
Код:
procedure WMOFF(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
и добавил вместо //здесь ваши действия строку application.terminate;.
в итоге когда запускаю компилирую пишет что ошибка в этой строчке:
Код:
procedure TMainForm.WMOFF(var Msg: TWMQueryEndSession);

Последний раз редактировалось Stilet; 10.09.2009 в 12:02.
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 11:58   #4
apocalypce
Пользователь
 
Аватар для apocalypce
 
Регистрация: 08.08.2009
Сообщений: 65
По умолчанию

Цитата:
Сообщение от pro100-delphi Посмотреть сообщение
Stilet, я посмотрел в этой теме - http://www.programmersforum.ru/showt...UERYENDSESSION
нифига не пашет!!!
пишет несколько ошибок здесь:

___
кто нить может реально помочь, а не бросать пыль в глаза только запутывая?
все работает!

это наверное забыли прописать???:
Код:
private
 procedure WMOFF(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
а для формы можно например написать:
Код:
procedure TMainForm.WMOFF(var Msg: TWMQueryEndSession);
begin
Form1.Close; //или просто Close;
inherited;
end;
TMainForm - название вашей формы (Form1 - тоже самое - название Вашей формы)

только для формы имеется ввиду прописываем после
Код:
mplementation
{$R *.dfm}
это в unit
Error 404: Подпись not found

Последний раз редактировалось apocalypce; 10.09.2009 в 12:01.
apocalypce вне форума Ответить с цитированием
Старый 10.09.2009, 12:07   #5
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
По умолчанию

Цитата:
это наверное забыли прописать???:
Код:
private
procedure WMOFF(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
не забыл я это прописать. я же писал что не забыл!!!))
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 12:07   #6
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
По умолчанию

может после
Цитата:
implementation
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 12:08   #7
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
По умолчанию

блин!!! да не пашет оно нифига
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 12:14   #8
apocalypce
Пользователь
 
Аватар для apocalypce
 
Регистрация: 08.08.2009
Сообщений: 65
По умолчанию

Цитата:
Сообщение от pro100-delphi Посмотреть сообщение
блин!!! да не пашет оно нифига
на фот держи исходник и скажи что еще не работает!
Вложения
Тип файла: rar test.rar (161.0 Кб, 22 просмотров)
Error 404: Подпись not found
apocalypce вне форума Ответить с цитированием
Старый 10.09.2009, 12:14   #9
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
Злость

- вот ошибка
pro100-delphi вне форума Ответить с цитированием
Старый 10.09.2009, 12:17   #10
apocalypce
Пользователь
 
Аватар для apocalypce
 
Регистрация: 08.08.2009
Сообщений: 65
По умолчанию

Цитата:
Сообщение от pro100-delphi Посмотреть сообщение
- вот ошибка
ну так правильно будет ошибка! у вас главная форма называеться Form1 , а в процедуре написанно TMainForm!

Надо это:
Код:
procedure TMainForm.WMOFF(var Msg: TWMQueryEndSession);
переименовать в вот это:
Код:
procedure TForm1.WMOFF(var Msg: TWMQueryEndSession);
Error 404: Подпись not found
apocalypce вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как закрыть своё приложение??? TwiX Общие вопросы Delphi 26 10.12.2019 02:20
Как закрыть приложение aiswork Софт 1 26.09.2009 12:58
Как закрыть форму при показе RIO Общие вопросы Delphi 4 28.08.2009 07:54
Закрыть чужое приложение Михаил Юрьевич Общие вопросы Delphi 3 28.03.2009 21:26
Закрыть программу, при ошибке Dr.Badnezz Общие вопросы Delphi 7 16.01.2009 00:32