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

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

Отслеживание перезагрузки оболочки Windows [D7, Win95/98, WinME, NT4, Win2k, WinXP]


Woolen ©   (2003-09-12 13:18:00) 

Здравствуйте. Подскажите пожалуйста. Может кто-нибудь знает... Как отследить перезагрузку оболочки Windows (explorer.exe)? Нужно при перезагрузке ее поместить заново иконку в трей, чтобы к приложению по-прежнему был доступ у пользователя. Говорят, есть какое-то сообщение, причем оно может быть разным (на уровне числа) и что нужно узнавать где-то в винде, каое число сейчас зарегистрированно как сообщение о перезагрузке оболочки. Помогите разобраться, пожалуйста: Насколько оправданы такие слухи? Можно ли отследить этот момент? Если можно, то как? Спасибо всем, кто в состоянии мне помочь.


DVM   (2003-09-14 14:43:00) [1]

Пропатченная - непропатченная все замечательно пропадает при хорошем вылете эксплорера. Сам механизм трея не позволяет нормально это сделать.


guest   (2003-09-13 14:31:00) [2]

нифига, на XP тиакая де лажа


SPeller   (2003-09-13 02:28:00) [3]


> DrPass © (13.09.03 00:18) [7]
> А так ли это актуально? Начиная с просервиспаченной Win2000
> иконки из трея при перезапуске оболочки не исчезают

Вот когда у всех будет пропатченная 2К, тогда и актуальность пропадёт.


DrPass   (2003-09-13 00:18:00) [4]

А так ли это актуально? Начиная с просервиспаченной Win2000 иконки из трея при перезапуске оболочки не исчезают


Woolen   (2003-09-12 16:00:00) [5]


> clickmaker © (12.09.03 15:54) [5]
> Ну да. Примерно так:
>
> FMessage := RegisterWindowMessage("TaskbarCreated");
>
> ...
>
> procedure TForm1.WndProc(var Message: TMessage);
> begin
> if Message.Msg = FMessage then
> // эксплорер загрузился
> inherited WndProc(Message);
> end;

Спасибо. Надо будет попробовать.


clickmaker   (2003-09-12 15:54:00) [6]

Ну да. Примерно так:

FMessage := RegisterWindowMessage("TaskbarCreated");

...

procedure TForm1.WndProc(var Message: TMessage);
begin
if Message.Msg = FMessage then
// эксплорер загрузился
inherited WndProc(Message);
end;


Woolen   (2003-09-12 14:07:00) [7]


> clickmaker © (12.09.03 13:43) [3]
> Если IE >= 4, то можно через RegisterWindowMessage("TaskbarCreated")

а что дальше? если придет это сообщение, значит эксплорер перезагрузился? или как событие отследить?


> и у него функция появления иконки после слета експлорера..

прочел сорцы - такой возможности не обнаружил...


clickmaker   (2003-09-12 13:43:00) [8]

Если IE >= 4, то можно через RegisterWindowMessage("TaskbarCreated")


Woolen   (2003-09-12 13:42:00) [9]


> Woolen на этом сайте есть компонент помойму TrayIcon (посмотри
> в VCL) он какрас работает с треем и все такое и у него
> функция появления иконки после слета експлорера..

Спасибо большое. Жаль, что я компонентами пользоваться не люблю. Может, если они есть, исходники, посмотрю.
В общем, спасибо


Bes   (2003-09-12 13:28:00) [10]

Woolen на этом сайте есть компонент помойму TrayIcon (посмотри в VCL) он какрас работает с треем и все такое и у него функция появления иконки после слета експлорера..


Наверх

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