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

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

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

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

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

Discussion

Serge
11.04.2010
В описании не написано программа может сохранять на общую папку или не может?
artur
29.05.2010
другие программы не работают белый файл.. эта работает
renat
19.07.2010
Здравствуйте,а почему имена файлов только вида shotdesk_ххх.jpg? где задается имя скриншота?
Nat3e
09.10.2010
Как у вас реализуется скриншот? Есть аська?
Руслан
30.10.2010
Не совсем понял вопроса, в каком смысле "как реализуется"? Напишите мне на элемтә
Vener P
11.12.2010
Здравствуйте, Не понял как запустить программу? при запуске ничего не происходит.
Руслан
12.12.2010
Распакуйте программу куда-нибудь, например, в C:\Program files\ru1smake Затем меню "Пуск" > "Выполнить", введите здесь "C:\Program files\ru1smake\ru1smake.exe" /install и нажмите enter, кавычки не забудьте. При запуске и не будет ничего происходить, просто будет появляться скриншот рабочего стола в папке указанной в ru1smake.conf
fgdgdfgdfgdf
10.07.2011
Очень бедная програма, настроек нет только 1 файл другие программы умеют в 100 раз больше этой
Руслан
17.07.2011
Да, умеют больше в 100 раз. Только скриншот не делают на Win7.
Гость
18.09.2011
Спасбо большое Поставил всем сотрудникам, доступ к папке со скринами закрыл через "безопасность" и открыл ее на чтение по сети
Гость
10.02.2012
До входа в windows 7 где контрол альт делете тоже делает белые снимки. начинает делать снимки когда сотрудник войдет.
Руслан
12.02.2012
Версия beta же пока - главное работает, допилю и это
Влад
04.02.2013
Любобытная программа) а есть ли способ обнаружить факт срабатывания этой программы на ПК с windows 7? Например с помощью оснастки perfmon (системный монитор). Хотелось бы увидеть каким то образом не мониторит ли меня самого кто-нибудь аналогичной программой. Может есть параметр в permon который покажет срабатывание функции windows 7, отвечающей за создание скриншота?
RDan
24.03.2013
Эта программа умеет сохранять скрины на сетевой ресурс ?
Руслан
26.03.2013
Да, с UNC-путями проблем нет, можете писать в конфиг строчки вида directory=\\10.20.11.240\scrs
AlexSander
07.05.2014
Спасибо за код, хотя бы один рабочий вариант запуска GUI-шного приложения под седьмыми виндами :)
Руслан
28.08.2014
все уже под восьмыми виндами сидят %-)
Nick
19.02.2015
А весь исходник программы нельзя ли выложить? Ну или на мыло отправить. Обязуюсь не афишировать его, если что...
Руслан
25.02.2015
Nick
28.02.2015
Огромное спасибо, подправил немножко под свои нужды, все прекрасно работает!
Sharki
19.02.2016
А полный исходник самого сервиса можно посмотреть?

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



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

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert