Может быть 0, 1 или более одного пользователя, которые вошли в систему.
Лучший способ справиться с любым взаимодействием, в котором взаимодействует служба и «входящий» пользователь, состоит в том, чтобы разделить это взаимодействие на две (или более) программы.
Сервисный код просто запускает любой код, который ему нужен, в качестве службы, и предоставляет API-интерфейс какой-либо формы.
Вторая программа запускается в рамках каждого сеанса пользователя (например, помещая ее в папку автозагрузки), а затем подключается к службе с использованием разработанного вами API.
Служба может отслеживать программы пользователей, которые в настоящее время работают, и (при необходимости) отправлять запросы обратно тем программам, которые просят их выполнять действия в рамках каждого сеанса пользователя.
Является ли сервис всегда активным или можно ли запустить его при входе пользователя в систему? – Deruijter
Что делать, если несколько пользователей вошли в систему? – Joe
лично у Службы должны быть свои права учетной записи службы, разрешения и т. Д. Выдавать себя за пользователя, которого я вижу ... выдавать за службу хорошо. Я уверен, что есть лучший подход. в противном случае создайте учетную запись службы. – MethodMan