Put an icon to the tray

This example shows, how to draw application icon in the system tray. Icon in tray is not responding to any messages in this application. This icon is only picture, which appears, when application is running and hides, when application is closing.

Don't forget to add ShellAPI in uses chapter.

 

 

uses

  ShellAPI;

...

procedure TForm1.FormCreate(Sender: TObject);

begin

  MyIcon.cbSize:=SizeOf(MyIcon);

  with MyIcon do

  begin

    Wnd:=Form1.Handle;

    uID:=0;

    uFlags:=NIF_ICON+NIF_TIP;

    hIcon:=CopyIcon(Application.Icon.Handle);

  end;

  Shell_NotifyIcon(NIM_ADD, @MyIcon);

end;

 

procedure TForm1.FormDestroy(Sender: TObject);

begin

  Shell_NotifyIcon(NIM_DELETE, @MyIcon);

end;