Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как скрыть часики в панели задач?

01.01.2007

Убираем часики:

procedure TForm1.Button1Click(Sender: TObject);
var hn: HWnd;
begin
  hn
:= FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'TrayNotifyWnd', nil), 0, 'TrayClockWClass', nil);
 
if hn <> 0 then
   
ShowWindow(hn, SW_HIDE); //Bye,bye,Baby
end;

Снова показываем:

procedure TForm1.Button2Click(Sender: TObject);
var hn: HWnd;
begin
  hn
:= FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'TrayNotifyWnd', nil), 0, 'TrayClockWClass', nil);
 
if hn <> 0 then
   
ShowWindow(hn, SW_SHOW); //Hello, again
end;

Взято из https://forum.sources.ru


function ShowTrayClock(bValue: Boolean) : Boolean; 
var
 
TrayWnd, TrayNWnd, ClockWnd: HWND;
begin
 
TrayWnd  := FindWindow('Shell_TrayWnd', nil);
 
TrayNWnd := FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil);
 
ClockWnd := FindWindowEx(TrayNWnd, 0, 'TrayClockWClass', nil);
 
Result := IsWindow(ClockWnd);
 
if Result then
 
begin
   
ShowWindow(ClockWnd, Ord(bValue));
   
PostMessage(ClockWnd, WM_PAINT, 0, 0);
 
end;
end;
 
// Example to hide they clock:
 
procedure TForm1
.Button1Click(Sender: TObject);
begin
   
ShowTrayClock(Boolean(0));
end;

Взято с https://delphiworld.narod.ru