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