Скриншот из сервиса Windows 7

w7compat

Программа-сервис Windows XP, делающая снимки экрана, после переноса на Windows 7 начала сохранять вместо снимков просто белый фон.
Чтобы использовать основанную на коде ниже программу rooshot, распакуйте архив в отдельную папку, установите ее как сервис (командой rooshot.exe /install), задайте параметры в конфигурационном файле rcshot.conf и запускайте через диспетчер служб. Удаление – командой rooshot.exe /uninstall. Программа будет автоматически делать снимки экрана согласно указанным в конфиге параметрам.

xottabychBtn Скачать программу rooshot
версия 0.1 (07.08.12) | 0.3 Мб | stable

Дело в том, что начиная с Windows Vista, служба, запущенная от имени SYSTEM, более не может взаимодействовать с рабочим столом – службы теперь запускаются в изолированном сеансе (сессии) и загрузка своего процесса приведет к попытке запуска в неверном (вошедшего в систему пользователя) сеансе. Решить проблему можно, получив сессию залогинившегося пользователя. Вкратце, этот код делает следующее:

  1. Получает токен вошедшего в систему в данный момент пользователя, используя функцию WtsGetActiveConsoleSessionID
  2. Далее получает пользовательский токен, назначенный процессу (токен для службы от имени SYSTEM)
  3. Затем этот токен дублируется
  4. У скопированного токена изменяется сеанс (на вошедшего пользователя)
  5. Используя CreateProcessAsUser запускается процесс с измененным пользовательским токеном

Процесс с системными правами, но будучи запущенным от имени вошедшего в систему пользователя в Windows 7, также позволит корректно работать GUI-программе как и любой другой.

Discussion

Артур
14.05.2010
другие программы не работает, белый файл эта работает
Ренат
30.07.2010
Здравствуйте,а почему имена файлов только вида shotdesk_ххх.jpg? где задается имя скриншота?
Nat3el
04.10.2010
Как у вас реализуется скриншот? Есть аська?
Uchla
05.10.2010
Не совсем понял вопроса - в каком смысле "как реализуется"? Листинг функции скриншота? Напишите мне на E-mail там и в аське спишемся
Vener P
13.12.2010
Здравствуйте, uhla Не понял как запустить программу? - при запуске ничего не происходит.
Uchla
14.12.2010
Распакуйте программу куда-нибудь, например, в C:\Program files\rooshot Затем меню "Пуск" > "Выполнить", введите здесь "C:\Program files\rooshot\rooshot.exe" /install и нажмите enter, кавычки не забудьте. При запуске и не будет ничего происходить, просто будет появляться скриншот рабочего стола в папке указанной в rooshot.conf
Serge
27.04.2011
hello! В описании не написано программа может сохранять на общую папку или не может?
fgdgdfgdfgdf
11.07.2011
очень бедная програма, настроек нет только 1 файл другие программы умеют в 100 раз больше этой
Uchla
18.07.2011
Да, умеют больше в 100 раз. Только скриншот не делают на Win7.
Гость
19.09.2011
Спасбо большое Поставил всем сотрудникам, доступ к папке со скринами закрыл через "безопасность" и открыл ее на чтение по сети
Гость
10.02.2012
До входа в windows 7 где контрол альт делете тоже делает белые снимки. начинает делать снимки когда сотрудник войдет.
Uchla
11.02.2012
Версия beta же пока - главное работает, допилю и это
Yura80
24.03.2012
Эта софтина умеет сохранять скрины на сетевую шару?
Uchla
26.03.2012
Да, с UNC-путями проблем нет, можете писать в конфиг строчки вида directory=\\10.20.11.240\scrs
Влад
04.02.2013
Любобытная программа) Uchla, а есть ли способ обнаружить факт срабатывания этой программы на ПК с windows 7? Например с помощью оснастки perfmon (системный монитор). Хотелось бы увидеть каким то образом не мониторит ли меня самого кто-нибудь аналогичной программой. Может есть параметр в permon который покажет срабатывание функции windows 7, отвечающей за создание скриншота?
Alexander
07.05.2014
Спасибо за код, хотя бы один рабочий вариант запуска GUI-шного приложения под седьмыми виндами :)
Uchla
28.08.2014
Нынче уже под восьмыми виндами сидят :-)
Nick
14.02.2015
А весь исходник программы нельзя ли выложить? Ну или на мыло отправить. Обязуюсь не афишировать его, если что...
Uchla
20.02.2015
Nick
20.02.2015
Огромное спасибо, подправил немножко под свои нужды, все прекрасно работает!
Sharki
15.02.2016
А полный исходник самого сервиса можно посмотреть

Җавап калдыру



All fields are required. Your email address will not be published.