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

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

Убить эту чёртову иконку в трее [D6, Win95/98]


Smart Crazy ©   (2004-09-17 18:17:00) 

Как уничтожить иконку в трее ЧУЖОГО приложения. Проблема - когда процесс, имеющий иконку в трее, "погибает" она там остаётся, пока курсором не ткнёшь.


Smart Crazy   (2004-09-18 13:57:00) [1]

Попробую


Ученик   (2004-09-17 22:44:00) [2]

Может что-то изменилось

function FindChild(aParent: HWnd; aClassName: PChar): HWnd;
var
 Child: HWnd;
 szClassName: array[0..255] of Char;
begin
 Child := GetWindow(aParent, GW_CHILD);
 while Child <> 0 do begin
   if GetClassName(Child, szClassName, 255) > 0 then begin
     if StrIComp(szClassName, aClassName) = 0 then
       Result := Child
     else
       Result := FindChild(Child, aClassName);
     if Result <> 0 then Exit
   end;
   Child := GetWindow(Child, GW_HWNDNEXT)
 end;
 Result := 0
end;

function FindTrayWnd : HWnd;
var
 ToolbarWnd: HWnd;
begin
 Result := FindWindow('Shell_TrayWnd', '');
 if Result <> 0 then begin
   Result := FindChild(Result, 'TrayNotifyWnd');
   if Result <> 0 then begin
     ToolbarWnd := FindChild(Result, 'ToolbarWindow32');
     if ToolbarWnd <> 0 then Result := ToolbarWnd
   end
 end
end;

procedure RefreshTray;
var
 i, j : Integer;
 Rect : TRect;
 TrayWnd : HWnd;
begin
 TrayWnd := FindTrayWnd;
 if TrayWnd <> 0 then begin
   GetWindowRect(TrayWnd, Rect);
   i := Rect.Left + 5;
   while i < Rect.Right do begin
     j := Rect.Top + 5;
     while j < Rect.Bottom do begin
       SendMessage(TrayWnd, WM_MOUSEMOVE, 0, MakeLong(i - Rect.Left, j - Rect.Top));
       Inc(j, 10)
     end;
     Inc(i, 10)
   end
 end
end;


Наверх

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