Модуль для скринов
|
|
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
| Еще один вопрос. А можно ли сделать скриншот не всего окна, а только его определенной части, например сохранить изображение не всего видеоплеера, а только кадра видео?
|
|
| |