15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Показываем/Скрываем System Tray.

Автор: Ruslan Abu Zant

Вы, наверное, видели множество примеров, которые показывают как скрывать панель задач или кнопку Пуск. Но вот как скрыть только System Tray ?

Совместимость: Delphi 4.x (или выше)

Сама функция !!

procedure hideStartbutton(visi:boolean);
  Var
    Tray, Child : hWnd;
    C : Array[0..127] of Char;
    S : String;

  Begin
    Tray := FindWindow('Shell_TrayWnd', NIL);
    Child := GetWindow(Tray, GW_CHILD);
    While Child <> 0
          do Begin
               If GetClassName(Child, C, SizeOf(C)) > 0
                  Then Begin
                         S := StrPAS(C);
                         If UpperCase(S) = 'TRAYNOTIFYWND'
                            then begin

                                   If Visi
                                      then ShowWindow(Child, 1)
                                      else ShowWindow(Child, 0);
                                 end;
                       End;
               Child := GetWindow(Child, GW_HWNDNEXT);
             End;
  End;

для того, чтобы обатно её показать, используйте

hideStartbutton(true);

или hideStartbutton(false);
чтобы скрыть !!