Я не знаю, правильно ли я понимаю ваш вопрос. Если вам просто нужно приложение без какого-либо понятия о главном окне, но с системным треем, я однажды сделал это с WinForms, используя код вроде
static void Main()
{
Application.Run(new MyContext());
}
Где MyContext
был классом, производным от ApplicationContext
, который в своем конструкторе создал иконку в трее, используя класс NotifyIcon
. Фактически Application.Run()
запускает цикл сообщений для вашего приложения, давая иконке в трее возможность отвечать на щелчки пользователей (сам значок в трее мог быть создан ранее). Он работал на Windows и Ubuntu, никогда не тестировался на Mac.
Тем не менее сегодня я бы использовал Gtk # в Linux и MonoMac в Mac. В первом случае концепция, вероятно, очень похожа (вы также можете увидеть код Tomboy, он делает именно это!). Во втором - не знаю, никогда не использовал его.