Как я могу отобразить значок в системном трее для службы окна C#.?Как отобразить значок в системном трее для службы окна C#.?
ответ
Услуги выполняются на другой оконной станции, чем вошедший в систему пользователь, поэтому у вас не может быть значок в системном трее. От https://docs.microsoft.com/en-us/dotnet/framework/windows-services/introduction-to-windows-service-applications:
Приложения Windows Service работают на другой оконной станции, чем интерактивная станция зарегистрированного пользователя. Окна станции - это защищенный объект, содержащий буфер обмена, набор глобальных атомов и группу объектов рабочего стола. Поскольку станция службы Windows не является интерактивной станцией, диалоговые окна, созданные из приложения-службы Windows, не будут видны и могут заставить вашу программу перестать отвечать на запросы. Аналогично, сообщения об ошибках должны регистрироваться в журнале событий Windows, а не возникать в пользовательском интерфейсе.
Классы обслуживания Windows, поддерживаемые платформой .NET Framework, не поддерживают взаимодействие с интерактивными станциями, то есть вошедшим в систему пользователем. .NET Framework также не включает классы, которые представляют собой станции и настольные компьютеры. Если ваша служба Windows должна взаимодействовать с другими станциями, вам необходимо получить доступ к неуправляемому API Windows. Дополнительные сведения см. В документации Windows SDK.
Взаимодействие службы Windows с пользовательскими или другими станциями должно быть тщательно спроектировано таким образом, чтобы включать в себя такие сценарии, как отсутствие входа в систему пользователя или пользователь, имеющий неожиданный набор объектов рабочего стола. В некоторых случаях может быть более целесообразным написать приложение Windows, которое выполняется под управлением пользователя.
Вот несколько ссылок о том, как писать в системный трей. Для взаимодействия с сервисом вам понадобится другое приложение, поскольку у службы не может быть прямой значок на панели задач.
How can I make a .NET Windows Forms application that only runs in the System Tray?
и
http://msdotnetsupport.blogspot.com/2008/02/cnet-application-windows-system-tray.html
Вы не можете, а не напрямую, потому что служба Windows обязательно начнется, когда машина будет работать, а не когда пользователь войдет в систему. Служба также будет работать в другом контексте, скорее всего, как другой пользователь.
Что вы можете сделать: «can do - написать отдельный« контроллер »на базе системного лотка, который взаимодействует с сервисом.
- 1. Как отобразить значок в системном трее?
- 2. Значок в системном трее для расширения Chrome
- 3. Значок в системном трее без виджетов
- 4. Hardcodet.Wpf.TaskbarNotification Blank Duplicate значок в системном трее
- 5. Как показать Google приложений Chrome значок в системном трее
- 6. службы сообщений Windows, в системном трее
- 7. Как показать файл значка в системном трее?
- 8. Пользовательский значок в системном трее "всплывающие подсказки" для Qt?
- 9. Как обновить значок в системном трее с помощью TideSDK?
- 10. Как установить значок в системном трее, используя только AWT
- 11. Tkinter: Как сделать приложение в системном трее?
- 12. значок в системном трее не отображается при запуске программы
- 13. Скрыть форму в системном трее
- 14. Delphi - значок в системном трее, не открывающий приложение
- 15. Текст в системном трее вместо значка
- 16. Изменение значка в системном трее в java
- 17. Как обнаружить изменения в системном трее Windows?
- 18. Каковы размеры значков в системном трее?
- 19. Как запустить приложение непосредственно в системном трее? (.NET C#)
- 20. Как сохранить призма в системном трее?
- 21. минимизация формы Windows в системном трее в c sharp
- 22. Как разрешить Windows EXIT в системном трее?
- 23. Как разместить приложение Java в системном трее?
- 24. Как запустить .exe в системном трее?
- 25. Отсутствующие значки в системном трее на Fedora 19 Desktop Edition
- 26. Эффективный способ сделать приложение в системном трее
- 27. Как восстановить значок DB2 в системном лотке
- 28. Скрытие моей программы в системном трее в Windows
- 29. Qt Несколько значков в системном трее
- 30. C# в системном трее контекстного меню, отображающегося под значком