Эмуляция print screen

Nikol

Client
Регистрация
28.04.2013
Сообщения
184
Благодарностей
11
Баллы
18
Уважаемые форумчане подскажите пожалуйста
можно как-то эмулировать нажатие print screen, а затем сочетание клавиш ctrl+v?
 

rpob

Client
Регистрация
31.03.2013
Сообщения
20
Благодарностей
4
Баллы
3

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Так не получится.... в инстансе не сработает.


Надо использовать метод Emulator.SendKey
Код:
Emulator.SendKey (instance.ActiveTab.Handle, System.Windows.Forms.Keys.PrintScreen, KeyboardEvent.Press);
 
  • Спасибо
Реакции: bigcajones

White trash

Client
Регистрация
09.06.2014
Сообщения
829
Благодарностей
362
Баллы
63
Код:
Emulator.SendKey (instance.ActiveTab.Handle, System.Windows.Forms.Keys.PrintScreen, KeyboardEvent.Press);
У меня это не сработало, а эмуляция ctrl+v будет:
Код:
instance.ActiveTab.KeyEvent("v","press","ctrl");
 

White trash

Client
Регистрация
09.06.2014
Сообщения
829
Благодарностей
362
Баллы
63
Так кто-нибудь знает насчет эмуляции PrintScreen?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
принтскрин можно сделать модулем CaptchaSaver
указывая тег body как капчу
 
  • Спасибо
Реакции: White trash

White trash

Client
Регистрация
09.06.2014
Сообщения
829
Благодарностей
362
Баллы
63
принтскрин можно сделать модулем CaptchaSaver
указывая тег body как капчу
Немного не то, мне нужно сделать снимок экрана в буфер обмена, как если бы я просто нажал PrintScreen.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Немного не то, мне нужно сделать снимок экрана в буфер обмена, как если бы я просто нажал PrintScreen.
Снимок экрана делается в операционной системе, а не в приложении.
 

White trash

Client
Регистрация
09.06.2014
Сообщения
829
Благодарностей
362
Баллы
63
Снимок экрана делается в операционной системе, а не в приложении.
Мне только нужно чтобы приложение эмулировало нажатие на кнопку PrintScreen, а там уже операционная система сама справится.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Приложение может эмулировать нажатие клавиши на клавиатуре, но не может сделать скрин системы и отправить его в буфер, у него своя среда работы, у операционной системы - своя.
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Если, вопрос актуален.
Как вариант можно реализовать следующее:
1. Берем утилиту NirCmd
2. В проекте выбираем >Добавить действие>Свой код>Запуск программы
3. Указываем путь к .exe утилиты
4. Указываем параметры
Возможные параметры запуска:
savescreenshot "c:\temp\shot.png"
savescreenshot "c:\temp\shot.png" 50 50 300 200
savescreenshot *clipboard* 150 150 400 400

savescreenshotwin "c:\temp\win.png"
savescreenshotwin *clipboard*

5. Выставляем таймаут
Всё, после срабатывания экшена, получаем готовый скрин в указанной директории
 

Вложения

Tnyrtin

Client
Регистрация
12.05.2015
Сообщения
73
Благодарностей
8
Баллы
8
Если, вопрос актуален.
Как вариант можно реализовать следующее:
1. Берем утилиту NirCmd
2. В проекте выбираем >Добавить действие>Свой код>Запуск программы
3. Указываем путь к .exe утилиты
4. Указываем параметры
Возможные параметры запуска:
savescreenshot "c:\temp\shot.png"
savescreenshot "c:\temp\shot.png" 50 50 300 200
savescreenshot *clipboard* 150 150 400 400

savescreenshotwin "c:\temp\win.png"
savescreenshotwin *clipboard*

5. Выставляем таймаут
Всё, после срабатывания экшена, получаем готовый скрин в указанной директории
Добрый день. Хотел спросить, что нужно дописать чтобы сделать серию скриншотов, допустим с задержкой 3 сек. между екшенами?
Как выбрать определенную область для скриншота? Какие и где параметры нужно указать?
Спасибо
 
  • Спасибо
Реакции: LightWood

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
Добрый день. Хотел спросить, что нужно дописать чтобы сделать серию скриншотов, допустим с задержкой 3 сек. между екшенами?
Как выбрать определенную область для скриншота? Какие и где параметры нужно указать?
Спасибо
Можно попробовать-поэкспериментировать:
1. Сделать цикл из экшена "Свой код" с шагом в +1
2. Последовательность экшена "Свой код" + экшен "Пауза" 1с
Область для скриншота, можно задать через координаты X-Y. Описание параметров запуска, есть в файл справке, в моем вложении, постом выше.
 

Tnyrtin

Client
Регистрация
12.05.2015
Сообщения
73
Благодарностей
8
Баллы
8
Можно попробовать-поэкспериментировать:
1. Сделать цикл из экшена "Свой код" с шагом в +1
2. Последовательность экшена "Свой код" + экшен "Пауза" 1с
Область для скриншота, можно задать через координаты X-Y. Описание параметров запуска, есть в файл справке, в моем вложении, постом выше.
Спасибо. Попробую
 

Ivan_B_1

Client
Регистрация
12.07.2019
Сообщения
76
Благодарностей
12
Баллы
8
Более изящных решений не появилось?
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)