Чтобы не было окон - надо удалить форму (Unit1), выбрать сам проект, нажать CTRL+V и убрать все строки про Application и объявление формы. Потом там надо написать саму прогу:
1) динамически создать эту самую трей-иконку
прописать ручками все необходимые свойства
2) динамически создать меню
-//-
3) присвоить трею менюшку. Это в свойствах.
4) написать обработчик менюшки "выход" и присвоить его в соответствующее поле (onClick определенного элемента)
5) загрузить DLL с хуком на сообщения и поставить оттуда хук.
Вроде все.
Или попроще, но некрасиво:
написать обычную прогу, в которой на событии FormShow сделать Hide =)
или, если не прокатит, можно создать поток, который будет постоянно делать так:
Код:
while true do
begin
Form1.Hide;
sleep(10);
end;