-
avers_sm (04.05.08 14:25) [0]Ув. мастера, мне требуется найти в трее значек некоторого приложения и погасить его. Пробую искать по заголовку окна - не получается, так как в списке окон (в заголовках) не вижу ничего похожего. Пытался искать дочерние окна от трея (тип Shell_TrayWnd), но дочерних к нему не выдает. Если окна значков трея имеют какой-то определенный тип, то подскажите.
-
avers_sm (04.05.08 14:53) [1]Решение нашел сам. Вернее просто разобрался. Оказывается, при создании иконки для поля Wnd структуры TNotifyIconData как раз и используется Handle, того окна, который будет обрабатывать сообщение от этой иконки. А потому я нашел нужное мне окно программы, взял ее Handle и уже по нему удалил значек, связанный с этой программой. Кому интересен код:
procedure HideIcon(HWind:THandle); // дескриптор окна ("хозяина") иконки
var
no: TNotifyIconData;
begin
with no do
begin
cbSize:=Sizeof(TNotifyIconData);
Wnd:=HWind; // Handle;
uID:=0;
end;
Shell_NotifyIcon(NIM_Delete,@no);
end; -
Rouse_ © (04.05.08 15:20) [2]вот тут еще глянь: http://rouse.drkb.ru/winapi.php#fwsystrayinfo
-
avers_sm (04.05.08 15:25) [3]Спасибо, посмотрю. А то я мало что смог найти именно по работе с треем.
-
Игорь Шевченко © (04.05.08 16:33) [4]Какой тип имеют окна значков в системном трее?
Тип кнопки на ToolbarWindow32