Я пишу службу C#, которая должна извлекать информацию от текущего пользователя, как активное окно или последнее движение мыши. Я уже узнал, что я могу получить эту информацию с помощью user32.dll, но это работает только в контексте пользователя, который вызывает методы.Как получить активное окно зарегистрированного пользователя из службы
Таким образом, мой сервис мог получать информацию только о себе, но не о пользователе «реального мира». Я также слышал, что это должно быть возможно с помощью WTSEnumerateSessions, OpenWindowStation, EnumDesktops и т. Д., Но я не нашел примера, показывающего, как это сделать.
У кого-нибудь есть ключ (или, может быть, некоторые примеры кода), как достичь моей цели?
Действительно. Мне тоже не нравится этот способ, но если приложение работает в сеансе пользователя, пользователь сможет его отменить. Это может быть предотвращено, если оно работает как служба. – Marcus
Просто перезагрузите приложение. – Samuel
Я думал о создании пользовательского приложения и дополнительной службы, но как служба может перезапустить приложение в сеансе пользователя без наличия учетных данных пользователя? – Marcus