Как поместить иконку в трей средствами Delphi? delphid.dax.ru WinSov.com Здесь я привожу ответ на интересующий многих вопрос: а как же поместить иконку в трей? Надо сказать, что это довольно распространенный пример, и авторство его мне точно не известно, но помочь он Вам должен. Обязательно включите в список подключаемых модулей, модуль ShellApi, иначе ничего работать не будет. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellApi; //!! const WM_NOTIFYTRAYICON = WM_USER + 1; type TForm1 = class(TForm) procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } procedure WMTRAYICONNOTIFY(var Msg: TMessage); message WM_NOTIFYTRAYICON; public { Public declarations } end; var Form1: TForm1; tray: TNotifyIconData; TrayIcon: TIcon; implementation {$R *.dfm} procedure TForm1.WMTRAYICONNOTIFY(var Msg: TMessage); begin {обрабатываем события на иконке в трее} case Msg.LParam of WM_LBUTTONDOWN: Form1.Visible:=true; WM_LBUTTONDBLCLK: {ваш код обработки события двойного нажатия на левую кнопку мыши} WM_LBUTTONUP: {ваш код обработки события отпускания левой кнопки мыши} WM_RBUTTONDOWN: {ваш код} WM_RBUTTONDBLCLK: {ваш код} WM_RBUTTONUP: {ваш код} WM_MOUSEMOVE: {ваш код} end; end; procedure TForm1.FormDestroy(Sender: TObject); begin try with tray do begin cbSize := SizeOf(TNotifyIconData); Wnd := Form1.Handle; uID := 1; end; Shell_NotifyIcon(NIM_DELETE, Addr(tray)); finally Application.Terminate; end; end; procedure TForm1.FormCreate(Sender: TObject); begin TrayIcon := Application.Icon; with tray do begin cbSize := SizeOf(TNotifyIconData); Wnd := Form1.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallBackMessage := WM_NOTIFYTRAYICON; hIcon := TrayIcon.Handle; szTip := ('Это мое приложение в трее'); end; Shell_NotifyIcon(NIM_ADD, Addr(tray)); end; procedure TForm1.GoToTrayButtonClick(Sender: TObject); begin //сворачиваемся в Трей Form1.Visible:=false; end; end.