میتونی از کتابخانه ی Shellapi استفاده کنی.....
با کد زیر فک کنم کارت راه بیفته....این کد آیکون برنامه را به Tray آیکون اضافه میکنه
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Shellapi, ExtCtrls;
const WM_NotifyIcon = WM_User+333;
...
private
{ Private declarations }
tnid: TNotifyIconData; // use shell api
HMainIcon:HIcon;
procedure CMClickIcon (var msg: TMessage); Message WM_NotifyIcon; // baraye control click roye tray icon
public
{ Public declarations }
end;
...
...
procedure Tform1.CMClickIcon(var msg: Tmessage);
begin
case msg.LParam of
WM_LButtonDown: Show;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
HMainIcon :=loadicon(MainInstance,'MainICon');
shell_NotifyIcon(NIM_Delete,@tnid);
tnid.cbSize :=sizeof(TNotifyIconData);
tnid.Wnd :=handle;
tnid.uID :=0147;
tnid.uFlags :=Nif_Message or Nif_Icon or Nif_tip;
tnid.uCallbackMessage :=WM_NotifyIcon;
tnid.hIcon :=HMainIcon;
tnid.szTip :='majidbestgame';
Shell_NotifyIcon(NIM_add,@tnid);
end;
بعد برای حذف Tray آیکون بعد از بستن برنامه از کد زیر استفاده کن
Shell_NotifyIcon(NIM_Delete,@tnid);
با این کد ها نیازی به هیچ کامپونتی نداری...