![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отслеживание перезагрузки оболочки 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) он какрас работает с треем и все такое и у него функция появления иконки после слета експлорера..