TTrayNotifyIcon是一个API函数,所以要用uses shellapi
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
     可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]

解决方案 »

  1.   

    至于改变图标可以用下列语句:
    var 
      tnd:TTrayNotifyIcon;
    begin
      .......
      .......
      //通过这句话来改变图标的。
      tnd.hicon:=application.icon.handle;
       
    end;
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  2.   

    例子:
    var 
      Nid:TNotifyIconData;With Nid do
      begin
        cbSize :=SizeOf(TNotifyIconData);
        Wnd :=Handle;  //主程序句柄
        hIcon :=//图标句柄;
        StrPcopy(szTip,'提示信息');
        uID :=1;
        uCallbackMessage :=CM_TRAYICON;  //回叫消息
        uFlags :=NIF_MESSAGE or NIF_ICON or NIF_TIP;
      end;
      Shell_NotifyIcon(NIM_ADD,@Nid);   //增加托盘图标动态改变图标:
      定义一个时钟,在其中重新定义Nid的参数格式:
      主要是hIcon和szTip,分别是新的图标句柄及新的提示信息,
    然后调用  Shell_NotifyIcon(NIM_MODIFY,@Nid); 
      

  3.   

    uses里面都有shellapi但是编译的时候总是出问题
      

  4.   

    更新代码(以下代码我试过了,可以通过编译):
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, shellapi;const
      WM_TRAYNOTIFY = WM_USER+100; //任务区小图标自定义消息type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        procedure TrayNotifyMessage(var Sender: TMessage); message WM_TRAYNOTIFY;
        procedure MarkTaskBarIcon(Sender: TObject);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      tnd: TNOTIFYICONDATA;implementation{$R *.dfm}procedure TForm1.MarkTaskBarIcon(Sender: TObject);
    begin
      Form1.Visible := False;
      tnd.cbSize := sizeof(tnd);
      tnd.Wnd := Handle;
      tnd.uID := 128;
      tnd.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
      tnd.uCallbackMessage := WM_TRAYNOTIFY;
      tnd.hIcon := Application.Icon.Handle;
      StrPCopy(tnd.szTip,Application.Title);
      Shell_NotifyIcon(NIM_ADD,@tnd);
    end;procedure TForm1.TrayNotifyMessage(var Sender: TMessage);
    begin
      if Sender.LParam = WM_LBUTTONDBLCLK then
      begin
        Shell_NotifyIcon(NIM_DELETE,@tnd);
        Form1.Visible := True;
        Application.Restore;
        Application.BringToFront;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMinimize := MarkTaskBarIcon;
    end;end.