Вниз
Скачать: 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.022 c
14-41919
Vlad Oshin
2003-10-20 18:14
2003.11.13
Задачка :)


14-41936
????
2003-10-20 20:55
2003.11.13
loCaseInsensitive


1-41608
Данила
2003-10-26 21:12
2003.11.13
Отловить запуск excel/word/access


3-40843
Uran
2003-10-21 17:26
2003.11.13
Выборка из IB русских символов с помощью UPPER


14-42113
denkop
2003-10-23 00:51
2003.11.13
Купил цифровую видеокамеру, хочу вынуть из неё цифровое видео




   Наверх