Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать о завершении работы Windows XP? [D7, XP]


Страницы:   1 2 3

Aleks ©   (2010-09-24 11:43:00) 

Нужно при завершении работы Виндовс запомнить координаты окна программы,чтобы восстановить исходное положение окна при следующем запуске Виндовс. Как узнать о завершении работы Windows XP чтобы сохранить эти данные?


И. Павел   (2010-09-24 15:43:00) [21]

> [23] Ega23 ©   (24.09.10 15:38)

Вам даже автор вопроса сказал, что ему это не подходит. Что если закрывает окно не система, то оно должно оставаться в трее. Зачем же флудить?

> [5] Aleks   (24.09.10 12:09)
> OnCloseQuery нельзя использовать, так-как окно программы
> во время работы юзер может сам закрыть,а позже открыть при
> надобности из значка в трее. :(

> А если завершать работу Виндовс,координаты не


Ega23   (2010-09-24 15:38:00) [22]


> а порекомендовали OnCloseQuery в [16]


Если ты внимательно посмотришь предысторию и подумаешь, то поймёшь почему.


И. Павел   (2010-09-24 15:35:00) [23]

> [21] Ega23 ©   (24.09.10 15:33)

Чего же вы сами не поинтересовались а порекомендовали OnCloseQuery в [16]? Или вас не касаются придуманные вами же правила?


Ega23   (2010-09-24 15:33:00) [24]


> Я просто предположил, что автору может потребоваться именно
> это сообщение.


Так возьми и уточни, что КОНКРЕТНО нужно автору. В 90% случаев начинающий "желает странного" и придумывает ректальные механизмы по воплощению оного в жизнь.
Так вот, прежде чем учить его этому странному, поинтересуйся, чего он вообще хочет.


Ega23   (2010-09-24 15:31:00) [25]


> Переобоснуй :)


Выход пользователя из системы <> завершению работы системы, не?


И. Павел   (2010-09-24 15:25:00) [26]

> [13] Ega23 ©   (24.09.10 15:06)

Ваш комментарий абсолютно бесполезен а еще глуповат (чась про "совращение").

Я просто предположил, что автору может потребоваться именно это сообщение. Дело в том, что раз есть окно со своими координатами, значит оно отображается на экране, а значит его может быть нужно закрывать при закрытии сессии. Во всяком случае, OnCloseQuery [16] вообще не имеет отношения к завершению работы Windows.


Aleks   (2010-09-24 15:22:00) [27]

Погуглил,нашел такую статью: http://www.realcoding.net/article/view/217
Автор пишет должно работать


Leonid Troyanovsky   (2010-09-24 15:18:00) [28]


> Ega23 ©   (24.09.10 15:06) [13]

> Скорость и оперативность важна в совращении одноклассниц,

А то одноклассники опередят?

> а не в написании как можно скорее в "Начинающим".

Дык, вроде, не было спешки, ответ на [0].

> Даже не так, WM_QUERYENDSESSION возникает во вполне определённом
> случае.

Переобоснуй :)

--
Regards, LVT.


Ega23   (2010-09-24 15:17:00) [29]

procedure TForm6.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 try
   SaveSomething;
 finally
   CanClose := True;
 end;
end;


Плохиш   (2010-09-24 15:17:00) [30]


> Aleks   (24.09.10 15:13) [14]
>
>


> Application.Terminate;//закрываю программу
>


> Теперь если закрыть окно заметок,то координаты сохраняются
> и прога закрывается полностью(а должна оставатся в трее)


> В чем трабла не пойму

Мая рыдать дольго.....


Aleks   (2010-09-24 15:13:00) [31]

добавил в прогу такую процедуру:
TForm1.WMCloseQuery;
begin
SaveState;//сохраняем координаты
Application.Terminate;//закрываю программу
end;

Теперь если закрыть окно заметок,то координаты сохраняются и прога закрывается полностью(а должна оставатся в трее). А если завершать работу Виндовс,координаты не сохраняются.В чем трабла не пойму :(


Ega23   (2010-09-24 15:06:00) [32]


> Можно отлавливать сообщение WM_QUERYENDSESSION и в его обработчике
> делать нужные действия.


Скорость и оперативность важна в совращении одноклассниц, а не в написании как можно скорее в "Начинающим".
WM_QUERYENDSESSION возникает не тольков случае завершения работы Windows.
Даже не так, WM_QUERYENDSESSION возникает во вполне определённом случае.


И. Павел   (2010-09-24 13:48:00) [33]

> [0] Aleks   (24.09.10 11:43)

Можно отлавливать сообщение WM_QUERYENDSESSION и в его обработчике делать нужные действия.


Dimka Maslov   (2010-09-24 13:47:00) [34]

На самом деле, если действовать с умом, можно при штатном завершении программы, свёрнутой в трей или развёрнутой во весь экран сохранить координаты и размеры главной формы. И делается это при помощи функции GetWindowPlacement в OnCloseQuery (сохранение) и задание соотв. свойств формы в OnCreate (восстановление)


sniknik   (2010-09-24 13:04:00) [35]

> Юзер может парковать окно в любое место раб.стола Виндовс и эти координаты нужно запоминать
а почему запоминать нужно при завершении виндовс, а не в момент "после парковки"?

ну вот выключили комп по питанию, и ???


Плохиш   (2010-09-24 12:37:00) [36]


> Aleks   (24.09.10 12:34) [8]

В [2] сказали уже.


Aleks   (2010-09-24 12:34:00) [37]

>Anatoly Podgoretsky. Программа нужна для внесения заметок с постоянным отображением окна на раб.столе Виндовс(аналог заметок Виндовс 7). Окно заметок можно закрыть и открыть позже с помощью иконки в трее. Юзер может парковать окно в любое место раб.стола Виндовс и эти координаты нужно запоминать и восстанавливать при след.запуске Виндовс. Как сохранять придумал,а как отловить завершение работы не знаю :(


Anatoly Podgoretsky   (2010-09-24 12:14:00) [38]

> Сергей М.  (24.09.2010 12:08:04)  [4]

Я не знаю зачем, но автор хочет только в случае завершения работы Windows
XP.


Сергей М.   (2010-09-24 12:13:00) [39]

> юзер может сам закрыть,а позже открыть

И что ?
Разве юзеру не нужно чтобы и в этом случае форма восстановила свою предыдущую позицию ?


Aleks   (2010-09-24 12:09:00) [40]

OnCloseQuery нельзя использовать, так-как окно программы во время работы юзер может сам закрыть,а позже открыть при надобности из значка в трее. :(


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо