Стандартный компонент ScreenShort делает снимок экрана с одного монитора. Если установлено два и более мониторов, то снимок делается только с основного (первого) монитора.
Каким образом можно получить снимок со всех мониторов?
Этот топик читают: Гость
Ответов: 17
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
rav, эмулировать нажатие PrintScreen (у меня код клавиши 44)
схема
2_экрана_44.jpg |
|||
карма: 19 |
|
Ответов: 17
Рейтинг: 0
|
|||
Способ работающий но имеет ряд неудобств....
Может есть способ указать компоненту "ScreenShort" идентификатор многооконности. |
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
rav, какие неудобства?
У нас есть компонент перечисляющий свойства всяких девайсов, в т. ч. мониторов с указанием ID. (в схеме поставил маску по "*монитор*", её можно убрать/изменить, если имя не на русском). Но этот ID не Handle, и не работает Может коллеги помогут nesco, ау! схема
|
|||
карма: 19 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): Но этот ID не Handle, и не работаетИ не должно работать -- ID устройства не есть дескриптор окна --- Добавлено в 2017-03-28 13:06:38 Леонид, если у тебя несколько мониторов, то попробуй вот этот метод заменить на мой в компоненте ScreenShort. К сожалению, я не могу проверить, у меня тупо нет нескольких мониторов. Если это работает, то я обновлю компонент.
Редактировалось 3 раз(а), последний 2017-03-28 13:08:33 |
|||
карма: 22 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
У кого есть несколько мониторов, попробуйте вот эту схему, которая может получить параметры конкретного монитора и его скриншот
Схема
Редактировалось 2 раз(а), последний 2017-03-28 16:22:05 |
|||
карма: 22 |
| ||
Голосовали: | Konst, Леонид |
Ответов: 1328
Рейтинг: 69
|
|||
nesco, работает ноут+монитор win7
|
|||
карма: 2 |
| ||
Голосовали: | Леонид |
Ответов: 8928
Рейтинг: 823
|
|||
nesco, IC в последней схеме работает, а переделанный ScreenShort у меня не может работать, что-то с регионами
Отладка писал(а): C:\A_WinGamesHiAsm\hiasm_4,04b185\Elements\delphi\code\hiScreenShort.pas(43) Error: Undeclared identifier: '_prop_UseRegion'
C:\A_WinGamesHiAsm\hiasm_4,04b185\Elements\delphi\code\hiScreenShort.pas(48) Error: Undeclared identifier: '_data_Region' C:\A_WinGamesHiAsm\hiasm_4,04b185\Elements\delphi\code\hiScreenShort.pas(60) Error: Undeclared identifier: '_prop_Color' C:\A_WinGamesHiAsm\hiasm_4,04b185\Elements\delphi\code\hiMainForm_3E96260.pas(8) Fatal: Could not compile used unit 'hiScreenShort.pas' |
|||
карма: 19 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): а переделанный ScreenShort у меня не может работать, что-то с регионами Это надо весь пакет обновлять, там целый блок регионов замутили. Konst писал(а): работает ноут+монитор win7Подождем еще результатов, если все будет нормально, то оформлю отдельным компонентом, а старый компонент трогать не буду. |
|||
карма: 22 |
| ||
Голосовали: | Nickname |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Добавил новый компонент Monitors. В Example есть пример работы с ним.
|
|||
карма: 22 |
| ||
Голосовали: | ser_davkin, Konst |
Ответов: 4630
Рейтинг: 749
|
|||
nesco, ты бы хоть в новом компоненте не писал "ScreenShort"
|
|||
карма: 26 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Netspirit писал(а): ты бы хоть в новом компоненте не писал "ScreenShort"Действительно. Надо исправить. А то я тупо скопировал с предыдущего компонента --- Добавлено в 2017-03-29 15:46:29 Исправил, можете обновиться. Редактировалось 2 раз(а), последний 2017-03-29 15:46:29 |
|||
карма: 22 |
|
Ответов: 17
Рейтинг: 0
|
|||
Спасибо, всё работает.
Уточнение про рабочую область, я так понял это область окна без "Панели задач Windows"? |
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
rav писал(а): я так понял это область окна без "Панели задач Windows"?Да. |
|||
карма: 22 |
|
14