Вниз
Скачать: CL | DM;

Отслеживание перезагрузки оболочки Windows   Найти похожие ветки 

← →
Woolen   (2003-09-12 13:18) [0]

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


← →
Bes ©   (2003-09-12 13:28) [1]

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


← →
Woolen   (2003-09-12 13:42) [2]


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

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


← →
clickmaker ©   (2003-09-12 13:43) [3]

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


← →
Woolen   (2003-09-12 14:07) [4]


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

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


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

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


← →
clickmaker ©   (2003-09-12 15:54) [5]

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

FMessage := RegisterWindowMessage("TaskbarCreated");

...

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


← →
Woolen   (2003-09-12 16:00) [6]


> 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;

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


← →
DrPass ©   (2003-09-13 00:18) [7]

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


← →
SPeller ©   (2003-09-13 02:28) [8]


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

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


← →
guest   (2003-09-13 14:31) [9]

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


← →
DVM ©   (2003-09-14 14:43) [10]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
1-41666
ИМГусак
2003-10-24 18:12
2003.11.13
MAPI и MSOutlook


3-40900
Дядя Ваня
2003-10-20 11:15
2003.11.13
Как заполнить DBComboBox???


14-41984
Ihor Osov'yak
2003-10-17 21:59
2003.11.13
К знатокам околосистемного софта, типа Norton Ghost, Partition M


14-42027
Checist [root]
2003-10-16 16:25
2003.11.13
Исключение, блин


3-40875
Zn
2003-10-17 18:40
2003.11.13
Как из SELECT-а обратиться к хранимой процедуре?




   Наверх