Допустим есть программа которая фоном делает определенные операции, не важно какие, допустим каждые 10 секунд собирает информацию по нагрузке ЦП и RAM. Программа сама по себе десктопная, запускается ручками, надо бы сделать ее чтобы она в авторане запускалась. Вопрос: как научить ее чтобы при сворачивании она скрывалась в трей, и при необходимости опрокидывала какие либо сообщения. Например как антивирус касперского. Висит в трее, опрокидывает уведомления, когда открываешь - появляется в панеле задач
Ответ Я использую Hardcodet.NotifyIcon.Wpf В XAML добавьте пространство имен: xmlns:tb="http://www.hardcodet.net/taskbar" В контейнер окна поместите:
Для того чтобы свернуть окно в трей, подпишитесь на событие StateChanged: WindowState prevState private void Window_StateChanged(object sender, EventArgs e) { if (WindowState == WindowState.Minimized) Hide() else prevState = WindowState } Чтобы развернуть, например при левом клике по иконке в трее: private void TaskbarIcon_TrayLeftMouseDown(object sender, RoutedEventArgs e) { Show() WindowState = prevState } Для отображения каких-либо сообщений, можно использовать, например, Popup или ToolTip