همانطور که می دانید System Tray در واقع پیغامی است که در Toolbar پایین صفحه ویندوز می آید
System Tray یک پیغام نیست، بلکه به اون ناحیه ایی از TaskBar که ساعت و آیکن بعضی از برنامه ها درش قرار داره، System Tray میگن.
برای نمایش یک آیکن، Tooltip یا Balloon در ناحیه System Tray باید از تابع Shell_NotifyIcon که در یونیت ShellAPI تعریف شده استفاده کنید. در Windows SDK درباره این تابع توضیح داده شده و دربارش مثالها و کامپوننت های متعددی وجود داره.
بعضی از ثابت هایی که در ویندوز 2000 , XP اضافه شدند، در ShellAPI تعریف نشدند. بعضی از این ثابت ها رو اینجا میزارم که با مشکل مواجه نشید:
{Some of shell constants which are used in Shell_NotifyIcon()}
//uFlags values in _NOTIFYICONDATA
NIF_INFO = $10;
NIF_MESSAGE = 1;
NIF_ICON = 2;
NIF_TIP = 4;
//Version 5.0 - NotifyIcon messages, version 4.0 messages are defined in ShellAPI.Pas
NIM_SETVERSION = $00000004;
NIM_SETFOCUS = $00000003;
//Balloon Flags
NIIF_INFO = $00000001;
NIIF_WARNING = $00000002;
NIIF_ERROR = $00000003;
//uVersion value (for Win2000 and higher versionsin) in _NOTIFYICONDATA. for Windows 9x family 0 is used.
NOTIFYICON_VERSION = 3;
//Balloon notification messages
NIN_BALLOONSHOW = WM_USER + 2;
NIN_BALLOONHIDE = WM_USER + 3;
NIN_BALLOONTIMEOUT = WM_USER + 4;
NIN_BALLOONUSERCLICK = WM_USER + 5;
//NotifyIcon's messages
NIN_SELECT = WM_USER + 0;
NINF_KEY = $1;
NIN_KEYSELECT = NIN_SELECT or NINF_KEY;