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

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

Как [D6, WinXP]


anod ©   (2002-08-08 14:01:00) 

восстанавливать иконку после глюков эксплорера


anod   (2002-08-09 20:31:00) [1]

Большое спасибо, вроде работает.


Ученик   (2002-08-09 19:41:00) [2]

procedure DefaultHandler(var Message); override;


procedure TMainForm.DefaultHandler(var Message);
begin
if (TMessage(Message).Msg = WM_TASKBARCREATED) then
TaskBarIcon(NIM_ADD, Icon)
else
inherited DefaultHandler(Message)
end;


anod   (2002-08-09 19:36:00) [3]

Попробовал в другой программке
var WM_TASKBARCREATED: DWORD; (или Cardinal);

WM_TASKBARCREATED := RegisterWindowMessage("TaskbarCreated");

В оконной процедуре пишу
WM_TASKBARCREATED: begin
TaskBarIcon(NIM_ADD, Icon);
end;


Ругается:
[Error] CDS.dpr(225): Constant expression expected


anod   (2002-08-09 18:02:00) [4]

procedure TForm1.WndProc(var msg: TMessage);
begin
case msg.Msg of
WM_TASKBARCREATED: begin
end;
end;
end;

Можкт я неправильно описываю оконную процедуру?


Opuhshii   (2002-08-09 16:26:00) [5]

1. WM_TASKBARCREATED:DWORD не TMessage
оконная проц-а первой получает все сообщения,.. там и лови....


anod   (2002-08-09 16:19:00) [6]

Я так понимаю мне надо сделать так
var WM_TASKBARCREATED: TMessage;
WM_TASKBARCREATED := RegisterWindowMessage("TaskbarCreated");
А потом ловить, только как?


DarkSimpson   (2002-08-09 00:24:00) [7]

Блин, забыл...
--
Вообщем я делаю так (я пишу замену эксплореру - свой шелл):

WM_TASKBARCREATED := RegisterWindowMessage("TaskbarCreated");
PostMessage(HWND_BROADCAST, WM_TASKBARCREATED, 0, 0);

И после этого AVP, например, кидает свою иконку обратно.


anod   (2002-08-08 23:34:00) [8]

Нет теакого сообщения в Windows SDK???
procedure WMTASKBARCREATED(var msg:TMessage); message WM_TASKBARCREATED;

[Error] Unit1.pas(112): Undeclared identifier: "WM_TASKBARCREATED"


anod   (2002-08-08 21:59:00) [9]

большой thanks


DarkSimpson   (2002-08-08 21:22:00) [10]

Эта, как яво... О...
Эксплорер шлет сообщение WM_TASKBARCREATED после глюков.
Лови ево и восстанавливай икону.


anod   (2002-08-08 21:02:00) [11]

иконку в трее (извините, забыл написать).


Antonius   (2002-08-08 15:16:00) [12]

чью иконку? каких шлюков?


Наверх

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