Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Модуль для скринов
Модуль для скринов
DoXeRДата: Пятница, 13 Мая 2011, 04:27 | Сообщение # 1
Любопытный
Группа: Проверенные
Сообщений: 53
Репутация: 0
Награды: 0
Статус: Offline
вопрос по ScreenShooter v1.2 модулю

http://mmbuilder.ru/load/modules/yuriy/1/38-1-0-82

Два вопроса:
1) Как образом предполагалось снимать скрины с активного в момент съёмки окна, если это окно будет всегда окном данной программы? ( т.к. требуется нажатие на клавишу снять скрин в самой программе)
2) С учетом первого, Как все-таки можно сделать скрин определенного активного окна? Может по заголовку программы, или по названию приложения, возможно это?Заранее спасибо

Code
**Сворачиваем окно
Minimize()
**ФОРМАТ ИМЕНИ БУДУЩЕГО ФАЙЛА
a=a+1
a$=CHAR(a)
file_name$='file_' + a$
**Снимать с экрана или активного окна?
MatrixGet("Okno[1,1]","Ist")
Ist=Ist-1
Ist$=CHAR(Ist)
**Снимаем скриншот
Galaxy$ = 'простотест.exe'
param$='HIDE,WAIT '+Galaxy$+'#'+p$+'#'+file_name$
Run("<Embedded>\ScreenShoter v1.2.exe","param$")
**Добавляем в список отснятый файл
ListFile$=p$+'\\'+file_name$+'.jpg'
ListBoxAddItem("Spisok","STRING:ListFile$")
**Восстанавливаем окно
Restore()
 
YURIYДата: Пятница, 13 Мая 2011, 13:34 | Сообщение # 2
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (DoXeR)
Как образом предполагалось снимать скрины с активного в момент съёмки окна, если это окно будет всегда окном данной программы?

Таким же образом, как это делают специализированные программы - наше окно сворачивается и активное после него окно будет сфотографировано.

Quote (DoXeR)
Может по заголовку программы, или по названию приложения

Конкретно этого я не делал. Попробуйте ещё поискать какие плагины, так как на доработку этого модуля времени у меня не будет. А он фотографирует только активное окно, которое образуется после сворачивания нашего, созданного в MMB. Для чего я его и сворачиваю, это по коду видно.



Вечная память Андрею Сергееву!
 
DoXeRДата: Пятница, 13 Мая 2011, 17:02 | Сообщение # 3
Любопытный
Группа: Проверенные
Сообщений: 53
Репутация: 0
Награды: 0
Статус: Offline
Quote (YURIY)
Конкретно этого я не делал. Попробуйте ещё поискать какие плагины, так как на доработку этого модуля времени у меня не будет. А он фотографирует только активное окно, которое образуется после сворачивания нашего, созданного в MMB. Для чего я его и сворачиваю, это по коду видно

понял спасибо, вроде нашёл 1 вариант.. в виде стороннего приложения,
там ехе файл и бат файл, в котором прописываются нужные значение и идет обращения уже к ехе, вопрос как лучше встроить в ммб это?
( т.е. есть 1 ехе и 1 bat файл, который обращается к ехе , они должны быть вместе в папке )

Или пользоваться лучше утилитами, которые конвертируют бат файлы в ехе формат, чтобы на выходе получить 1 ехе и встроить его в проект?

Сообщение отредактировал DoXeR - Пятница, 13 Мая 2011, 17:02
 
toizyДата: Пятница, 13 Мая 2011, 17:54 | Сообщение # 4
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Да запускать командой Run, насколько я понимаю... только с указанием, что надобно скрыть окно (HIDE - параметр, читайте справку)

Жизнь оказалась не такой уж и забавной, как поначалу...
 
DoXeRДата: Суббота, 14 Мая 2011, 03:11 | Сообщение # 5
Любопытный
Группа: Проверенные
Сообщений: 53
Репутация: 0
Награды: 0
Статус: Offline
благодарю, в скрытом батник вроде норм получилось запустить.
Но вот можно как-либо передать данные в бат файл из проекта?

Например, чтобы введенный текст в ЭдитБокс записался в определенное место в бат файле?
Учитыва,я что там некоторые данные уже есть
(Там нужно указывать имя скрина, чтобы у пользователя была возможно самому имя вписать , и после сделать скрин..)
Или такое невозможно?

 
toizyДата: Суббота, 14 Мая 2011, 03:14 | Сообщение # 6
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (DoXeR)
чтобы введенный текст в ЭдитБокс записался в определенное место в бат файле?

Можно. Считать бат-файл, найти место вставки, записать бат-файл. Затем выполнить. Подробнее читайте в справке в разделе "Строковые функции"


Жизнь оказалась не такой уж и забавной, как поначалу...
 
DoXeRДата: Среда, 01 Июня 2011, 06:35 | Сообщение # 7
Любопытный
Группа: Проверенные
Сообщений: 53
Репутация: 0
Награды: 0
Статус: Offline
спасибо, вроде тоже получилось, правда заменяется целая строчка.

но вот с путями файлов не пойму как лучше сделать??
Есть:
сам скриншотер.exe (который получает команды из бат файла )
сам файл.bat ( в котором прописываются все команды, в несколько строк, которые передаются на обработку в скриншотер.ехе)

из проекта то всё вроде доступно, но как это совместить?
получается вариант:
1) если я скриншотер.exe помещаю во "внедрённые файлы", то могут его вызвать командой Run или обычным запуском (при щелчке "запустить программу", и передать в него команды, прописав их в "параметры", попробовал, прописал пару параметров, вроде запускает..
Но там параметры которые изначально должны из батника передаваться, многострочные, значит вариант с передачей команда в скриншотер.ехе через параметры отпадает , верно?

Тогда остаётся передать команды в ехе файл через батник, но как, поместив его во внедренные файлы? Видимо не получится.. они же как бы в одной папке должны быть , + будет требоваться перезапись батника..

2) помещать батник и скриншотер во внедренные файлы, искать куда они в какие временные файлы будут извлекаться при работе?
(Но опять же батников нужно делать много, с разными параметрами, не все же туда пихать..)

3)Или ещё вариант вижу помещать скриншотер во вложенные файлы, и как-то его извлекать потом в отдельную папку, либо инстллятором его в папку с программой что ли отдельно инсталлировать.
А после, чтобы не создавать кучи батфайлов, все параметры прописать в проекте, чтобы по нажатию на кнопку создавался определенный бат файл с нужным текстом, параметрами для скриншотера..
Как я понял это вроде можно сделать этим методом:
Code
file$='C:\test.bat'
string$='Этот текст будет добавлен в текстовый файл.'
RetVal=StrToFile(file$,string$,TRUE,FALSE)

и потом как-то его удалять, либо изначально в какой-то системной папке чтоль прятать, чтобы кучи батников на обозрение не выставлять.. либо перезаписывать весь этот файл, т.к. там параметры передаваемые каждый раз скриншотеру разные, и многострочные %)

Больше не вижу вариантов..
В общем запутался...Извините, что много букв..


Сообщение отредактировал DoXeR - Среда, 01 Июня 2011, 06:36
 
endurizerДата: Четверг, 09 Июня 2011, 11:50 | Сообщение # 8
Новый участник
Группа: Пользователи
Сообщений: 3
Репутация: 0
Награды: 0
Статус: Offline
Еще один вопрос.
А можно ли сделать скриншот не всего окна, а только его определенной части, например сохранить изображение не всего видеоплеера, а только кадра видео?
 
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Модуль для скринов
  • Страница 1 из 1
  • 1
Поиск: