Для операций с иконками трея используется только одна функция Windows - Shell_NotifyIconData, определение которой "звучит" следующим образом:
function Shell_NotifyIcon (dwMessage: DWORD; lpData: PNotifyIconData): BOOL; stdcall;
И в качестве параметров функция воспринимает:
Как видно, сам синтаксис функции не сказал нам ничего нового о том, как реализована работа с треем. Эта функция только изменяет состояние иконки в зависимости от значения параметра dwMessage - а это значит, что вся нужная нам информация находится в структуре TNotifyIconData. Давайте теперь рассмотрим ее более детально…