Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Снимок экрана в 1С (число прочтений - 12297 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Снимок экрана в 1С
18. Марта 2010 :: 12:48
Печать  
Есть вопросик.
Надо получить снимок экрана (screenshot). Условия:
1. Пользователь не должен нажимать "Prt Sc"
2. Картинка может быть в буфере (думаю что вытащить получится), но лучше чтобы была в какой-нить папке.
3. Ну и наверное без применения ВК но можно консольную утилитку какую нибудь.
Вот для Линукса есть scrot, а для Винды я не нашел как реализовать Печаль.

У кого нибудь есть идеи? Улыбка
« Последняя редакция: 18. Марта 2010 :: 16:11 - fez »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Снимок экрана в 1С
Ответ #1 - 18. Марта 2010 :: 12:48
Печать  
Ах да, нажатие клавиши Prt Sc нельзя сэмулировать
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как получить снимок экрана?
Ответ #2 - 18. Марта 2010 :: 14:04
Печать  
А так:
Код
Выбрать все
WshShell = CreateObject("WScript.Shell");
WshShell.SendKeys("{PRTSC}"); 


?
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как получить снимок экрана?
Ответ #3 - 18. Марта 2010 :: 16:10
Печать  
У меня есть скрипт на питоне, который это умеет делать. Но соответственно нужно качать/устанавливать python, pywin32, wxPython и еще одну специфическую библиотеку Улыбка
Надо?

P.S. Хотя если просто делать принтскрин, то можно без wxPython обойтись.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #4 - 18. Марта 2010 :: 16:12
Печать  
И не делай так больше. Не надо.
  
Наверх
www  
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Снимок экрана в 1С
Ответ #5 - 18. Марта 2010 :: 17:05
Печать  
А через DynamicXWrapper не интересно?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #6 - 18. Марта 2010 :: 18:54
Печать  
fez писал(а) 18. Марта 2010 :: 16:12:
И не делай так больше. Не надо.

удалил, хотя если честно - не понял, в чем проблема..
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #7 - 19. Марта 2010 :: 07:05
Печать  
CaBaT писал(а) 18. Марта 2010 :: 18:54:
fez писал(а) 18. Марта 2010 :: 16:12:
И не делай так больше. Не надо.

удалил, хотя если честно - не понял, в чем проблема..


Это было не к тебе, а к топикстартеру Улыбка
  
Наверх
www  
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #8 - 19. Марта 2010 :: 07:14
Печать  
Пронесло Улыбка
Александр, если нужна будет ссылка на утилиту, свисти..
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #9 - 19. Марта 2010 :: 08:08
Печать  
Ты ссылочку-то верни обратно, пригодится.
  
Наверх
www  
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #10 - 19. Марта 2010 :: 09:45
Печать  
Консольная утилита для сохранения скриншота в файл:
http://www.ducklink.com/free-command-line-screen-capture.php
(Пользуюсь пару месяцев для отправки пользователями 1С скриншотов администратору (т.е. мне Улыбка), пока один недостаток - больно здоровая)
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Снимок экрана в 1С
Ответ #11 - 19. Марта 2010 :: 10:32
Печать  
CaBaT писал(а) 19. Марта 2010 :: 09:45:
Консольная утилита для сохранения скриншота в файл:
http://www.ducklink.com/free-command-line-screen-capture.php
(Пользуюсь пару месяцев для отправки пользователями 1С скриншотов администратору (т.е. мне Улыбка), пока один недостаток - больно здоровая)

а как сделал, если не секрет?Улыбка
я попробовал через КомандаСистемы() - на скрине остается окошко cmd.exe, закрывает часть экрана
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #12 - 19. Марта 2010 :: 10:38
Печать  
Блин всего то полдня не было, а уже в курилку отправили  Смех.
Честно fez, хотел как лучше чтобы темы не плодить Улыбка Тем более та тема по сути не особо актуальна. Сам затупил. Надо было сразу в курилку идти. А лучше на мисту, чтобы 1С++ глупостями не захламлять.

Цитата:
А через DynamicXWrapper не интересно?

Почему неинтересно, очень интересно. Поделись плиз примером или направлением.

2 CaBaT
Бигсенкс, счас буду смотреть/пробовать.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #13 - 19. Марта 2010 :: 10:41
Печать  
для alexdd
как то так:
Код
Выбрать все
// сделаем скриншот
_КаталогТемп = SLT.СистемаНастройки.КаталогTemp;
_ФайлУтилиты = SLT.СистемаКомпоненты.ФайлКомпоненты("capture.exe");
Если ФС.СуществуетФайл(_ФайлУтилиты) = 1 Тогда
	_Команда = _ФайлУтилиты + " /f screenshot.png /d " + Лев(_КаталогТемп,СтрДлина(_КаталогТемп)-1);
	_Shell = СоздатьОбъект("WScript.Shell");
	_Shell.Run(_Команда, 0, 1);
КонецЕсли; 

  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Снимок экрана в 1С
Ответ #14 - 19. Марта 2010 :: 10:57
Печать  
Через DXW: пример выложить пока не могу, посколько нахожусь в отпуске.
Как бы сделал:
1. Получил в памяти битовое изображение DeskTop'a - это элементарно
2. В gdi+ поискал бы функцию, которая сохраняет битмапу в jpg.
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #15 - 19. Марта 2010 :: 11:40
Печать  
AutoIt имеет набор функций для этого дела. Скрипт потом можно скомпилировать в EXE, который будет выполняться на другом компе без установки самого AutoIt.

PS

Провел эксперимент со скриптом в приложении. Все работает. Но как только я его скомпилировал, КAV начал верещать, что обнаружил в скомпилированном exe троян Trojan-Spy.Win32.ProAgent.dl. Однако, если на время компиляции антивирус отключить, то потом не ругается.  
  

Script.bmp ( 527 KB | Загрузки )
Script.bmp

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #16 - 19. Марта 2010 :: 11:44
Печать  
Скомпилированный скрипт
  

CaptureScreen.zip ( 338 KB | Загрузки )

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #17 - 19. Марта 2010 :: 12:28
Печать  
2 Alex_Bob
Большое, огромнейшее спасибо.

В общем и CmdCapture, и CaptureScreen сохранил и попробовал на обоих. Но выбор остановил пока на втором. Меньше весит. Спасибо большое всем учавствовашим.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #18 - 19. Марта 2010 :: 12:31
Печать  
Черт, тоже в планах было сделать скомпилированный скрипт на AutoIt, но не успел Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #19 - 19. Марта 2010 :: 12:47
Печать  
Сравнил оба варианта - утилита, предложенная мной умеет сохранять в png, размер файла сильно меньше, так что в одном выигрываем, в другом проигрываем..
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #20 - 19. Марта 2010 :: 15:44
Печать  
Согласен что в пнг вообще кайф (60-70 кб).
В принципе по большому счету и то и другое в кайф. А далее это регилиозное Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #21 - 20. Марта 2010 :: 05:57
Печать  
vandalsvq писал(а) 19. Марта 2010 :: 10:38:
А лучше на мисту, чтобы 1С++ глупостями не захламлять.

Вот это ты зря, всякие полезные вопросы могут и должны быть на сабжевом форуме Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Снимок экрана в 1С
Ответ #22 - 22. Марта 2010 :: 11:36
Печать  
Пример на DXW. Пишет в png, при желании можно в jpg, tiff, bmp  Подмигивание
  

PrtScr.ert ( 12 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #23 - 22. Марта 2010 :: 12:47
Печать  
Зачёт! Пошел тестить Улыбка
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #24 - 22. Марта 2010 :: 14:13
Печать  
Залил в репозиторий, скоро уедет в боевые базы! Улыбка
Есть один момент - размер файла где то на 40% больше, но это ерунда.

Надо будет на досуге скриптик сделать на VBS, что бы можно было его не только из 1С использовать..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Снимок экрана в 1С
Ответ #25 - 22. Марта 2010 :: 14:46
Печать  
CaBaT писал(а) 22. Марта 2010 :: 14:13:
Есть один момент - размер файла где то на 40% больше, но это ерунда.


Нужно с параметрами кодека разобраться, сейчас туда уезжает NULL, поэтому качество = 100%.

ЗЫ: можно еще программно пробежаться по открытым окнам и сделать их скриншоты, а не только скрин десктопа...посмотреть чем пользователь занимается Улыбка)).
  
Наверх
 
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #26 - 25. Марта 2010 :: 12:58
Печать  
Я бы сделал утилиту на Delphi )
если нужна помощь, обращайтесь.
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Снимок экрана в 1С
Ответ #27 - 25. Марта 2010 :: 17:31
Печать  
как вариант еще одна програмулька, но на framework
запуск с командной строки с параметром ("D:\имя файла картинки").
на выходе будет файл "D:\имя файла картинки.png"
  

PrtSc.rar ( 3 KB | Загрузки )
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать