Как я могу отобразить значок системного лотка для сервиса окна C#.?
Службы работают на другой оконной станции, чем зарегистрированный пользователь, поэтому у вас не может быть для них значка на панели задач. Из https://docs.microsoft.com / en-us / dotnet / framework / windows-services / Introduction-to-windows-service-applications :
Приложения-службы Windows выполняются на другой оконной станции, чем интерактивная станция вошедшего в систему пользователя. Оконная станция - это защищенный объект, содержащий буфер обмена, набор глобальных атомов и группу объектов рабочего стола. Поскольку станция службы Windows не является интерактивной станцией, диалоговые окна, открываемые в приложении службы Windows, не будут видны и могут привести к тому, что ваша программа перестанет отвечать. Точно так же сообщения об ошибках должны регистрироваться в журнале событий Windows, а не создаваться в пользовательском интерфейсе.
Классы обслуживания Windows, поддерживаемые .NET Framework, не поддерживают взаимодействие с интерактивными станциями, то есть с вошедшим в систему пользователем. .NET Framework также не включает классы, представляющие станции и рабочие столы. Если ваша служба Windows должна взаимодействовать с другими станциями, вам потребуется доступ к неуправляемому Windows API. Дополнительные сведения см. В документации Windows SDK.
Взаимодействие службы Windows с пользователем или другими станциями должно быть тщательно спроектировано с учетом таких сценариев, как отсутствие вошедшего в систему пользователя или наличие у пользователя неожиданного набора объектов рабочего стола. В некоторых случаях может быть более целесообразным написать приложение Windows, работающее под управлением пользователя.
Вот пара ссылок о том, как писать в системный трей. Вам понадобится другое приложение для взаимодействия со службой, поскольку у службы не может быть значок непосредственно на панели задач.
Как я могу сделать.NET Windows Forms, которое работает только в области уведомлений?
и
http://msdotnetsupport.blogspot.com/2008/02/cnet-application-windows-system-tray.html
Вы не можете, не напрямую, потому что служба Windows обязательно запустится, когда это сделает машина, а не при входе пользователя в систему. Служба также будет работает в другом контексте, вероятно, как другой пользователь.
Что вы можете сделать, так это написать отдельный «контроллер» на панели задач, который взаимодействует со службой.