@vitkuz573

Почему служба Windows не может делать скриншоты?

Есть консольное приложение ASP.NET Core (gRPC сервис). Одна из его задач отправка скриншотов в клиентское приложение на другом ПК с определенной периодичностью.

Если это приложение запускается просто двойным кликом, то все работает, но стоит только создать из него службу и запускать ее, то все сразу перестает работать (именно функция создания и отправки скриншотов).

Собственно вопрос: служба не имеет доступа к экрану? Почему? Если не существует видимого окна или иконки в трее, то ничего работать не будет или я что-то не понимаю?

Как это исправить?
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Это особенности улучшенной политики безопасности для служб начиная с Windows 7 - системные службы по умолчанию не имеют доступа к пользовательской сессии. Либо запускайте вашу службу в пользовательской сессии, т.е. не от имени системы, а от имени пользователя, либо как приложение. Если же службе надо работать от имени системы - тогда, вам надо разделить её на две службы: для получения скриншотов использовать службу в пользовательской сессии, а для остального - в системной.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы