程序退出时只要运行了
Shell_NotifyIcon(NIM_DELETE,@NID);
就可以清除小图标.
确认在退出时TMainForm.FormCLose这个函数是否
被运行到.
另外uID 设为非0值试试看

解决方案 »

  1.   

    TNotifyIconData;对象作为Form私有变量来用试试
    private
      FNID: TNotifyIconData;Close
      Shell_NotifyIcon(NIM_DELETE,@NID);
    建议在Destroy事件中写这句话任务栏消失是用
    Application.ShowMainWindow := False;
      

  2.   

    要按如下方式来释放状态栏的资源。
    procedure TForm1.UnInstallIcon;
    var
        IconData: TNotifyIconData;
    begin
         IconData.cbSize := SizeOf( IconData );
         IconData.Wnd := Handle;
         IconData.uID := ICON_ID;
         Shell_NotifyIcon( NIM_DELETE, @IconData );
    end;
      

  3.   

    copy_paste(木石三) 按你的方法,小图标可以消失,但任务栏仍会出现图标,应该如何做