Как сделать снимок экрана пользователя с помощью C # - PullRequest
0 голосов
/ 20 декабря 2010

Я хочу захватить все экраны пользователей, которые подключены к моей машине. Так как я могу это сделать?

Я хочу создать службу Windows, которая будет захватывать экран пользователей.

Спасибо Laxmilal

1 Ответ

0 голосов
/ 29 марта 2011

Это можно сделать с помощью API службы терминалов Windows (WTS).Вот что вам нужно сделать:
1. Использовать локальную систему в качестве учетной записи системной службы.Другие учетные записи не будут работать.
2. Вызовите WTSOpenServer, затем с помощью WTSEnumerateSessions получите список сеансов
3. Вы получите список структур WTS_SESSION_INFO.Каждый элемент там представляет сессии.Вы заинтересованы только в сеансах, где State является WTSActive.
4. В цикле вызовите CreateProcessAsUser для каждого сеанса, который вы определили на предыдущем шаге.Укажите sessionId из структуры WTS_SESSION_INFO, которую вы используете для сеанса.Имя запускаемого процесса будет вашей любимой утилитой захвата экрана.Я не использовал ни одного из них, но быстрый поиск в интернете дает мало вариантов.

...