Программа сохранения изображения с экрана. Запись видео со звуком с экрана компьютера: обзор программных средств

Самый простой способ сохранения информации с Рабочего стола, из приложения - создание снимка экрана. Область применения скриншотов гораздо шире, чем может показаться на первый взгляд: это всевозможные инструкции, документация, заметки на сайте, оперативная помощь коллегам и друзьям, отчеты.

Для получения полноэкранного скриншота (т. е. размещения его в буфере обмена) используется клавиша Print Screen, комбинация Alt+Print Screen применяется для захвата окна активного приложения. Промежуточное изображение в дальнейшем легко перенести в графический редактор и сохранить его в одном из доступных форматов.

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

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

В первой части путеводителя будут рассмотрены следующие приложения:

  • FastStone Capture
  • HyperSnap
  • Snagit
  • LightShot
  • Screen Capture
  • Greenshot

Стоит отметить, что некоторые участники обзора опционально позволяют записывать аудио и видео, однако эта тема будет раскрыта во второй части путеводителя. Здесь же внимание будет сфокусировано на указанных составляющих каждой из программ:

  • Захват экрана: выбор региона, режимы создания скриншота
  • Интерфейс: удобство доступа к функциям, настройка менеджера под нужды пользователя
  • Редактор: основные возможности, доступные инструменты, форматы сохранения файлов, экспорт
  • Интеграция с программами и сервисами.

Программа «Ножницы»

Приступая к обзору, нужно вкратце перечислить функции программы «Ножницы», входящей в состав Windows Vista и новейших версии ОС Microsoft.

Захват экрана возможен в одном из режимов: «произвольная форма», «прямоугольник», «окно» и «весь экран». Для выделения региона удобно использовать комбинацию клавиш Ctrl+PrtScrn. Изображение передается в окно разметки, и здесь доступны такие инструменты, как перо, маркер и резинка - аналогичные редактору Paint. К изображению несложно добавить (точнее, дорисовать) примечание, а в случае с HTML - указать URL сохраненной страницы. На заключительном этапе скриншот можно сохранить в одном из форматов (PNG, GIF или JPEG) и отправить по электронной почте.


Таким образом, Windows располагает неким базовым набором для съемки скриншотов. К сожалению, пакетная обработка и даже несложное редактирование практически неосуществимы. Как минимум, в «Ножницах» нельзя кадрировать изображение или ввести комментарий. Все это - дополнительные доводы в сторону альтернативных решений.

FastStone Capture

FastStone Capture - программа для создания скриншотов отдельных приложений, регионов, объектов, страниц. Встроенные инструменты позволяют добавлять эффекты, аннотации, изменять параметры изображения. Сохранение файлов возможно в BMP, GIF, JPEG, PCX, PNG, TGA, TIFF и PDF. Также поддерживается запись видео в формате WMV.

Основные инструменты, относящиеся к съемке, доступны на панели захвата Farstone (Capture Panel). Здесь на выбор представлены следующие режимы: активное окно, окно или объект, регион, свободный регион, полный экран, фиксированный или регион с прокруткой. Опция Autocaption позволяет автоматически добавлять к изображению системную информацию, дату. В соседней группе настроек Destination можно указать, куда будет отправлено изображение: в редактор, буфер обмена, на email, в офисные приложения и прочее.

Основные настройки расположены в разделе Settings. Полезно с ними ознакомиться перед непосредственной съемкой. Дополнительные кнопки можно добавить через раздел Toolbar, настройки захвата сосредоточены в Capture. Горячие клавиши определяются во вкладке Hotkeys. Имя файла составляется по маске, которую возможно указать в разделе File Name.

По умолчанию, скриншот передается в окно редактора. С помощью доступных инструментов, можно добавить к изображению подпись, водяной знак, кадрировать, повернуть скриншот, применить эффекты сглаживания или усиления резкости. Для рисования используется встроенный редактор FastStone Draw, открывающийся в новом окне. Такую организацию в FastStone Capture нельзя назвать удобным решением: работая с несколькими изображениями, приходится постоянно переключаться между окнами.

В меню File расположены команды сохранения и отправки изображения напрямую в приложения Word, Excel, PowerPoint, по протоколу FTP. Для каждого из графических форматов предусмотрены настройки.

Второй немаловажный компонент FastStone Capture, который идет «в довесок» - захват видео. Впрочем, в роли видеокамеры программа не столь примечательна, предлагая скромный набор опций и единственно возможный формат сохранения - WMV. Общие настройки программы не актуальны к записи видео, для них отведена вкладка Miscellaneous, плюс раздел Options, доступный через окно Screen Recorder. Режимов записи четыре: окно или объект, область, полноэкранный формат и полноэкранный без Панели задач.

Резюме

Программа FastStone Capture удобна при захвате экрана, не в последнюю очередь благодаря режимам съемки. Возможности редактирования также порадовали - графический редактор содержит нужные инструменты. Предусмотрено множество настроек, позволяющих гибко настроить FastStone Capture под собственные задачи.

[+] Функции сохранения и экспорта
[+] Широкий выбор режимов съемки
[+] Дополнительные инструменты
[−] Неудобная организация окон

HyperSnap

HyperSnap - программа с более чем десятилетним стажем - используется в широких целях: для захвата скриншотов (окон, отдельных регионов), текста (диалоговых окон, страниц), записи видео. Позволяет комментировать, редактировать изображения посредством редактора, сохранять их в одном из множества доступных форматов.

В отличие от FarStone, все модули HyperSnap собраны в едином окне, а инструменты распределены по вкладкам и доступны через ribbon-ленту. Дополнительный «плюс» подобного решения состоит в том, что одновременно можно работать с несколькими изображениями, переключаясь между окнами или эскизами. В целом же, благодаря разделу меню View, интерфейс поддается тщательной настройке, и это компенсирует некоторую «архаичность» программы.

Собственно, для захвата экрана нужно перейти во вкладку Capture. Опций больше, чем в FastStone Capture или любой другой нижеупомянутой программе (за исключением Snagit). Помимо самых очевидных вариантов, имеется возможность съемки виртуального Рабочего стола, нескольких мониторов, региона и окна с полной прокруткой, кнопок, курсора и др.

Инструменты редактора разбиты на две вкладки - Edit («Редактирование») и Image («Изображение»). В Edit можно обнаружить инструменты для рисования, в числе которых рисование фигур, добавление примечаний. Раздел Image предназначен для обработки изображения: кадрирование, поворот, применение эффектов.

Любопытен захват простого и форматированного текста (вкладка TextSnap), однако нужно иметь в виду ограниченное применение функции. Разработчики больше не занимаются ее развитием - вследствие этого, в Java, .NET, «родных» (native) приложениях ОС Windows 8 захват текста невозможен.

Итоговое изображение легко отправить на email, загрузить по FTP или на сервис ImageShack. Передача скриншота в приложения недоступна. Сохранение файлов возможно как в индивидуальном, так и пакетном режиме. При всем разнообразии форматов (их более десятка), хотелось бы видеть более удобный диалог сохранения, на данный момент он отнюдь не интуитивен.

Резюме

Hypersnap удовлетворит повышенные требования к специализированным функциям и будет оптимальным вариантом для пользователей, которых интересует максимальная автоматизация действий, пакетная работа. Подходящее решение для тестирования, отладки ПО.

[+] Удобная настраиваемая оболочка
[+] Многообразие режимов съемки
[+] Захват текста
[−] Устаревший интерфейс

Snagit

Snagit - приложение компании TechSmith для захвата изображений, текста и видео с экрана. Этих функций в связке более чем достаточно для использования Snagit на работе, дома, а также в образовательных целях.

Для захвата изображения в Snagit используется удобный скрывающийся виджет, который легко перетащить в любую область экрана. Вначале следует выбрать профиль съемки (изображение, текст или видео), опционально - «экономный» профиль (Time-saving profile) и назначить горячие клавиши. Кстати говоря, профили можно создавать самостоятельно, управление доступно в «File - Organize Profiles...». Настройка профиля или текущего режима съемки осуществляется в окне захвата.

Доступные режимы собраны в меню Capture Type, среди них - регион, окно, область экрана, несколько областей одновременно, сканнер, камера, другие варианты.

Получив скриншот, пользователь переходит в редактор. Следует отметить библиотеку в нижней части окна редактора, где доступны все изображения. Она удобна своей организацией: данные можно упорядочить не только по каталогам, но и по тегам, также реализован поиск по файлам.

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

Одной из уникальных возможностей Snagit является создание «горячих точек» (hotspots), - интерактивных изображений, содержащих ссылки, всплывающие окна. Опций более чем достаточно: создание объектов, ссылок, выбор подсветки при наведении, цветовых решений.

В разделе Share доступна передача изображения в программы или сервисы, причем легко нарастить функциональность, скачав недостающие виджеты интеграции для Snagit.

Резюме

Функциональная и удобная программа с широкими экспортными возможностями. Именно в этом выигрышном сочетании Snagit является лидером среди платных продуктов.

[+] Удобный интерфейс
[+] Создание интерактивных изображений
[+] Разнообразие способов захвата
[+] Возможности организации библиотеки

LightShot

Разумеется, не каждый пользователь сочтет нужным платить за функциональность скриншот-менеджера, поэтому стоит рассмотреть и бесплатные решения. Среди них достойна упоминания небольшая программа LightShot, вмещающая в себе базовые функции, которые, как минимум, превосходят штатные «Ножницы».

Приложение, что называется, «easy to use» - простое, интуитивно понятное. Достаточно нажать клавишу PrtScr, выделить область для захвата (в наличии только ручной режим) - и скриншот доступен для редактирования и сохранения или загрузки на хостинг изображений. Таким образом, сокращается время между промежуточными этапами получения снимка.

Функциональность редактора LightShot, пожалуй, слишком проста для повсеместного применения программы. Есть инструменты рисования и возможность добавления текстовых комментариев. Однако когда дело доходит до работы с изображением, сказывается отсутствие команд по изменению пропорций, эффектов. Неудобным может показаться и то, что каждый снимок нужно обрабатывать и сохранять не откладывая. Впрочем, LightShot предусматривает альтернативное редактирование - онлайн-редактор Pixlr, интегрированный с prntscr.com. На Prntscr изображение можно опубликовать в пару кликов. Набор форматов для сохранения ограничен PNG, JPEG, BMP, причем настройки качества отсутствуют. В Pixlr, правда, для JPEG опции предусмотрены, также есть формат хранения PXD, практически бесполезный за пределами сервиса.

Резюме

LightShot по многим параметрам не может составить конкуренцию своим платным участникам обзора, однако имеет два заметных достоинства - скорость работы и бесплатность. Перефразируя пословицу «лучше синица в руках, чем журавль в небе» - лучше бесплатное приложение без ограничений, чем платное, но со множеством ограничений.

[+] Хорошая функциональность для бесплатной версии
[+] Интеграция с онлайн-сервисами
[−] Отсутствие параметров сохранения
[−] Ограниченная функциональность редактора

Screen Capture

Домашняя страница: http://www.screencapture.ru/

Еще один бесплатный скриншот-менеджер на русском языке. Screen Capture интересен некоторыми онлайн-функциями: в частности, можно сохранять скриншот одним кликом в Интернете. Из других возможностей - захват произвольной области экрана, редактирование изображений и добавление комментариев.

Вкратце, работа со Screen Capture выглядит следующим образом. По нажатию PrtScrn либо при использовании команды «Сделать снимок экрана», определяется область для захвата. Далее скриншот загружается в Интернет (по умолчанию), сохраняется на Рабочем столе либо в указанной папке.

Основные функции приложения доступны через контекстное меню в Области уведомлений. Такой вариант не очень удобен: так, качество JPG нужно выбирать из выпадающего списка, а некоторые опции были бы оптимальны в виде переключателей.

Заменой библиотеки в Screen Capture является раздел «История изображений», откуда возможен доступ к редактированию каждого из файлов в списке. Онлайн-редактор имеет стандартный набор инструментов и прост в использовании. Теоретически, он был бы удобен на мобильных устройствах - сейчас, однако, Screen Capture доступен только для Windows.

Резюме

Screen Capture - неплохой бесплатный продукт, который стоит рассматривать рядом с LightShot. Редактирование доступно только как часть онлайн-функций, зато представлено больше настроек сохранения, есть история изображений.

[+] Присутствуют настройки сохранения
[−] Неудобный интерфейс
[−] Редактирование скриншотов возможно только онлайн

Greenshot

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

Поддерживаются уже знакомые режимы съемки: захват области, окна, полного экрана. Однако примечательно в Greenshot не это, а наглядность самого процесса: вместе с подсветкой выбранного региона, можно ознакомиться с его размерами.

Графический редактор прост и одновременно не содержит ничего лишнего. Благодаря имеющимся инструментам, можно добавить комментарий, фигуры, линии, подсветить или размыть определенный участок изображения, повернуть или кадрировать его. Правда, редактируя несколько скриншотов в различных окнах, неудобно переключаться между ними. Другими словами, для пакетной работы не хватает вкладок.

Форматы изображения для сохранения - PNG, GIF, BMP, JPG, TIFF, Greenshot. Настройки качества применимы только к JPEG. Дополнительно, в настройках программы настраивается шаблон имени, здесь же указывается место хранения файлов.

Наряду с сохранением, предусмотрены отправка скриншота по e-mail, в почтовый клиент, в редактор MSPaint, экспорт скриншотов в офисные приложения не поддерживается. Также возможна загрузка скриншотов на хостинг Imgur. Полученная ссылка ведет напрямую к изображению, в отличие от prntscr.com, где приходится просматривать рекламу со страницы сервиса.

Резюме

Среди упомянутых бесплатных участников, Greenshot - наиболее функциональный продукт. Удобный интерфейс, локализация, широкий выбор форматов для сохранения и режимов съемки.

[+] Функциональность
[+] Редактор изображений
[+] Быстрая публикация в Сети
[−] Неудобная реализация многооконного режима

Сводная таблица

Программа FastStone Capture HyperSnap Snagit LightShot Screen Capture Greenshot
Разработчик FastStone Soft Hyperionics Technology, LLC TechSmith Skillbrains Андрющенко Артем Thomas Braun, Jens Klingen, Robin Krom
Лицензия Shareware ($19.95+) Shareware ($39.95+) Shareware ($49.95+) Freeware Freeware Freeware
Локализация на русском языке + + +
Форматы сохранения изображений BMP, GIF, JPEG, PCX, PNG, TGA, TIFF, PDF BMP, GIF, JPEG, TIFF, CMP, CALS, FAX, EPS, GEM, IMG, RAW, PIC, MAC, MSP, BMP, RAS, TGA, WFX, WFM, WPG, PNG, PSD и др. SNAG, PNG, JPG, GIF, BMP, TIF, PDF, SWF PNG, JPEG, BMP PNG, JPEG, BMP PNG, GIF, BMP, JPG, TIFF, Greenshot
Редактор изображений + + + + + +
Экспорт в сторонние приложения + + +
Режимы захвата Активное окно, окно или объект, регион, свободный регион, полный экран, фиксированный, регион с прокруткой Окно, регион, полный экран, видео, виртуальный Рабочий стол, несколько мониторов, регион, окно с прокруткой, кнопки, курсор и др. Регион, окно, область экрана, несколько регионов одновременно, сканнер, камера и др. Область экрана Область экрана Захват области, окна, полного экрана
Публикация онлайн FTP FTP, ImageShack.us Screencast.com, FTP Prntscr.com Screencapture.ru Imgur.com
Дополнительные функции Запись видео (WMV) Расширение для Firefox, захват текста Создание интерактивных изображений Расширение для браузеров Chrome, Firefox, IE и Opera

Во второй части обзора рассмотрены 6 программ, позволяющих захватывать изображение с экрана в виде видеоролика.

Здравствуйте. Лучше один раз увидеть, чем сто раз услышать 🙂

Именно так гласит популярное высказывание, и, наверное, это правильно. Вы когда-нибудь пытались объяснить человеку, как выполнить определенные действия за ПК, без использования видео (или картинок)? Если просто объяснять на «пальцах», что и куда нажать - вас поймет 1 человек из 100!

Совсем другое дело, когда вы можете записать то, что происходит у вас на экране и показать это другим - так можно и объяснить что и как нажимать, а так же и похвастать своими навыками работы или игры.

В этой статье, я хочу остановиться на лучших (на мой взгляд) программах для записи видео с экрана со звуком. Итак…

Сайт: ispring.ru/ispring-free-cam

Несмотря на то, что эта программа появилась не так давно (сравнительно), она сразу же удивила (с хорошей стороны:)) своими несколькими фишками. Главное, пожалуй, что - один из самых простейших инструментов среди аналогов для записи видео всего происходящего на экране компьютера (ну или отдельной его части) . Что больше всего радует в этой утилите - так это то, что она бесплатная и нет никаких вставок в файл (т.е. ни одного ярлыка о том, в какой программе это видео сделано и прочего «мусора». Иногда такие штуки занимают пол-экрана при просмотре) .

Основные преимущества:

  1. чтобы начать запись, нужно: выбрать область и нажать одну красную кнопку (скриншот ниже). Чтобы остановить запись - 1 кнопку Esc;
  2. возможность записывать звук с микрофона и колонок (наушников, в общем, системных звуков);
  3. возможность фиксироваться перемещения курсора и его нажатий;
  4. возможность выбора области записи (от полно-экранного режима, до небольшого окна);
  5. возможность вести запись из игр (хотя в описании к ПО об этом не говориться, но я сам включил полноэкранный режим и запустил игру - фиксировалось все отлично);
  6. нет никаких вставок на изображении;
  7. поддержка русского языка;
  8. программа работает во всех версиях Windows: 7, 8, 10 (32/64 bits).

На скриншоте ниже показано как выглядит окно для записи.

Все лаконично и просто: чтобы начать запись - просто нажмите красную круглую кнопку , а когда решите, что запись пора завершить - кнопку Esc , Полученное видео будет сохранено в редактор, из которого вы сможете сразу же сохранить файл в формат WMV . Удобно и быстро, рекомендую к ознакомлению!

FastStone Capture

Очень и очень интересная программа для создания скриншотов и видео с экрана компьютера. Несмотря на свой маленький размер, ПО обладает довольно весомыми преимуществами:

  • при записи получается очень маленький размер файла при высоком качестве (по умолчанию жмет в формат WMV);
  • на изображении нет никаких посторонних надписей и прочего мусора, изображение не размыто, курсор подсвечивается;
  • поддерживает формат 1440p;
  • поддерживает запись со звуком с микрофона, со звука в Windows, или одновременно сразу из обоих источников;
  • запустить процесс записи проще простого, программа не «мучает» вас горой сообщений о тех или иных настройках, предупреждениях и пр.;
  • занимает совсем мало места на жестком диске, к тому же есть портативная версия;
  • поддерживает все новые версии Windows: XP, 7, 8, 10.

На мой скромный взгляд - это одна из лучших софтин: компактная, не грузит ПК, изображение качественное, звук тоже. Что еще нужно!?

Запуск начала записи с экрана (все просто и наглядно)!

Ashampoo Snap

Сайт : ashampoo.com/ru/rub/pin/1224/multimedia-software/snap-8

Ashampoo - компания знаменита своим софтом, главной особенностью которого является ориентированность на начинающего пользователя. Т.е. разобраться с программами от Ashampoo, достаточно просто и легко. Не исключение из этого правила и Ashampoo Snap.

Snap - главное окно программы

Основные возможности:

  • возможность создания коллажей из нескольких скриншотов;
  • захват видео со звуком и без него;
  • мгновенный захват всех видимых окон на рабочем столе;
  • поддержка Windows 7, 8, 10, захват нового интерфейса;
  • возможность использования пипетки цветов для захвата цветов из различных приложений;
  • полная поддержка 32-битных изображений с прозрачностью (RGBA);
  • возможность захвата по таймеру;
  • автоматическое добавление водяных знаков.

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

UVScreenCamera

Сайт: uvsoftium.ru

Отличное ПО для быстрого и эффективного создания демонстративных обучающих роликов и презентаций с экрана ПК. Позволяет экспортировать видео во множество форматов: SWF, AVI, UVF, EXE, FLV (в том числе и GIF-анимация со звуком).

Может записывать все, что происходит на экране, включая движения курсора мыши, щелчки кнопками мыши, нажатия на клавиатуре. Если сохранить ролик в формате UVF («родной» для программы) и EXE получаются очень компактного размера (например, 3-х минутный фильм с разрешением 1024x768x32 занимает 294 Кб).

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

Мнение эксперта

Андрей Пономарёв

Задать вопрос эксперту

Стоит отметить, что многие видео-файлы в интернете в формате *.exe могут содержать в себе вирусы. Именно поэтому скачивать и тем более открывать подобные файлы нужно крайне осторожно.

Это очень удобно: можно запустить подобный медиафайл даже без установленного программного обеспечения, поскольку собственный проигрыватель уже «встроен» в полученный файл.

Fraps

Сайт: fraps.com/download.php

Лучшая программа для записи видео и создания скриншотов из игр (подчеркиваю, именно из игр, снять просто рабочий стол при помощи нее не получится)!

Главные ее достоинства:

  • встроен свой кодек, который позволяет записывать видео из игры даже на слабом ПК (правда, размер файла получается большой, зато ничего не тормозит и не подвисает);
  • возможность записи звука (см. скриншот ниже «Sound Capture Settings»);
  • возможность выборы количества кадров;
  • запись видео и скриншотов по нажатию горячих клавиш;
  • возможность скрыть курсор при записи;
  • бесплатная.

В общем, для геймера - программа просто незаменимая. Единственный недостаток: чтобы записать большое видео, требуется много свободного места на жестком диске. Также, в последствии, это видео нужно будет сжимать или редактировать для его «перегона» в более компактный размер.

CamStudio

Сайт: camstudio.org

Простой и бесплатный (но вместе с тем эффективный) инструмент для записи происходящего с экрана ПК в файлы: AVI, MP4 или SWF (флеш). Чаще всего, применяется при создании курсов и презентаций.

Основные достоинства:

  • Поддержка кодеков: Radius Cinepak, Intel IYUV, Microsoft Video 1, Lagarith, H.264, Xvid, MPEG-4, FFDshow;
  • Захват не только всего экрана, но и отдельной его части;
  • Возможность аннотаций;
  • Возможность записи звука с микрофона ПК и колонок.

Недостатки:

  • Некоторые антивирусы находят файл подозрительным, если его записать в этой программе;
  • Нет поддержки русского языка (по крайней мере, официальной).

Camtasia Studio

Сайт: techsmith.com/camtasia.html

Одна из самых известных программ для этой задачи. В ней реализованы десятки всевозможных опций и возможностей:

  • поддержка множества форматов видео, полученный файл можно экспортировать в: AVI, SWF, FLV, MOV, WMV, RM, GIF, CAMV;
  • возможность подготовки высококачественных презентаций (1440p);
  • на основе любого видео можно получить EXE-файл, в который будет встроен проигрыватель (полезно, чтобы открывать такой файл на ПК, где нет такой утилиты);
  • может накладывать ряд эффектов, умеет редактировать отдельные кадры.

Camtasia Studio.

Из недостатков, я бы выделил следующее:

  • софт платный (некоторые версии вставляют надписи поверх изображения, пока вы не купите ПО);
  • иногда сложно настроить так, чтобы избежать появление смазанных букв (особенно, при высококачественном формате);
  • приходится «помучиться» с настройками сжатия видео, чтобы добиться оптимального размера файла на выходе.

Если брать в целом - то программа весьма не плоха и не зря лидирует в своем сегменте рынка. Несмотря на то, что я ее раскритиковал и не очень ее поддерживаю (в силу своей редкой работы с видео) - рекомендую к ознакомлению однозначно, тем более тем, кто хочет профессионально создавать ролик (презентации, подкасты, обучение и т.д.).

Free Screen Video Recorder

Сайт: dvdvideosoft.com/products/dvd/Free-Screen-Video-Recorder.htm

Инструмент, выполненный в стиле минимализма. Вместе с тем - это достаточная мощная программа для захвата экрана (всего происходящего на нем) в формат AVI, а изображения в форматах: BMP, JPEG, GIF, TGA или PNG.

Одно из главных преимуществ - программа бесплатная (в то время, как другие аналогичные инструменты условно-бесплатные и через определенное время потребуют покупки).

Free Screen Video Recorder - окно программы (здесь нет ничего лишнего!).

Из недостатков я бы выделил одну вещь: при записи видео в игре, скорее всего, вы его не увидите - будет просто черный экран (правда, со звуком). Для захвата игр - лучше выбрать Fraps (о ней см. чуть выше в статье).

Total Screen Recorder

Весьма не плохая утилита для записи изображения с экрана (или отдельной его части). Позволяет сохранять файл в форматы: AVI, WMV, SWF, FLV, поддерживает запись аудио (микрофон + колонки), движения курсора мышки.

Также можно использовать для захвата видео с вебкамеры во время общения через программы: MSN Messenger, AIM, ICQ, Yahoo Messenger, TV-тюнеров или потокового видео, а также для создания скринов, обучающих презентаций и пр.

Из недостатков: часто наблюдается проблема с записью звука на внешних звуковых картах.

Мнение эксперта

Андрей Пономарёв

Профессионал в настройке, администрировании, переустановке любых программ и операционных систем семейства Windows.

Задать вопрос эксперту

Официальный сайт разработчика недоступен, проект Total Screen Recorder заморожен. Программа доступна для скачивания на других сайтах, но содержание файлов нужно тщательно проверять, дабы не поймать вирус.

HyperCam

Сайт: solveigmm.com/ru/products/hypercam

HyperCam - окно программы.

Неплохая утилита для записи видео и аудио с ПК в файлы: AVI, WMV/ASF. Также можно фиксировать действия всего экрана или определенной выделенной области.

Полученные файлы легко редактируются встроенным редактором. После редактирования - ролики можно загрузить на Youtube (или другие популярные ресурсы для обмена видео).

Кстати, программа может быть установлена на USB-флешку, и использоваться на разных ПК. Например, пришли к другу в гости, вставили флешку в его ПК и записали его действия с его экрана. Мега-удобно!

Опции HyperCam (их довольно много, кстати).

Bandicam

Сайт: bandicam.com/ru

Это программное обеспечение уже давно пользуется популярностью у пользователей, на что не влияет даже крайне усечённая бесплатная версия.

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

В качестве основных плюсов «Bandicam» следует отметить:

  • полную локализацию всего интерфейса;
  • грамотно расположение разделов меню и настроек, с которым сможет разобраться даже начинающий пользователь;
  • обилие настраиваемых параметров, что позволяет максимальным образом индивидуализировать интерфейс под собственные нужды, в том числе добавление собственного логотипа;
  • поддержка большинства современных и самых востребованных форматов;
  • одновременная запись с двух источников (например, захват рабочего экрана+запись веб-камеры);
  • наличие функционала предварительного просмотра;
  • ведение записи в формате FullHD;
  • возможность создавать пометки и примечания непосредственно в режиме реального времени и многое другое.

В бесплатной версии действуют некоторые ограничения:

  • возможность записи лишь до 10 минут;
  • реклама разработчика на созданном видео.

Безусловно, программа рассчитана на определённую категорию пользователей, которой запись своего рабочего или игрового процесса требуется не только для развлечений, но и в качестве заработка.

Поэтому на полную лицензию для одного компьютера придётся отдать 2 400 руб.

Бонус: oCam Screen Recorder

Сайт: ohsoft.net/en/product_ocam.php

Обнаружил и эту интересную утилиту. Должен сказать, что она достаточно удобная (к тому же бесплатная) для того, чтобы вести видеозапись действий пользователя на экране компьютера. Всего одним нажатием на кнопку мышки можно начать запись с экрана (или любого его участка).

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

Помимо видеозахвата экрана, в программе реализована функция создания скриншотов.

Таблица: сравнение программ

Функционал

Программы
Bandicam FastStone Capture Ashampoo Snap UVScreenCamera Fraps CamStudio Camtasia Studio Free Screen Video Recorder HyperCam oCam Screen Recorder
Стоимость/Лицензия 2400р/Пробная Бесплатно Бесплатно 1155р/Пробная 990р/Триал Бесплатно Бесплатно 249$/Триал Бесплатно Бесплатно 39$/Триал
Локализация Полная Полная Нет Полная Полная Опционально нет Опционально нет нет Опционально
Функционал записи
Захват экрана да да да да да да да да да да да
Игровой режим да да нет да да да нет да нет нет да
Запись с онлайн источника да да да да да да да да да да да
Запись движения курсора да да да да да да да да да да да
Захват веб-камеры да да нет да да да нет да нет нет да
Запись по расписанию да да нет да да нет нет да нет нет нет
Захват аудио да да да да да да да да да да да

На этом я статью завершаю, надеюсь, что в предложенном списке программ вы найдете ту, которая сможет решить поставленные перед ней задачи:). Буду весьма признателен за дополнения по теме статьи.

Не долго думая и имея под рукой Visual Studio 2015 конечно же создал новый C# проект т.к. это очень удобно и я уже делал ранее небольшие C# программы.

Задача первая

Глобальный перехват нажатия кнопок PrintScreen и Alt+PrintScreen. Чтобы не изобретать велосипед, пару минут гугления и почти сразу нашлось решение . Суть заключается в использовании callback-функции LowLevelKeyboardProc и функции SetWindowsHookEx с WH_KEYBOARD_LL из user32.dll. С небольшой модификацией под перехват двух комбинаций код заработал и успешно ловит нажатия клавиш.

Код захвата нажатия клавиш

namespace ScreenShot_Grab { static class Program { private static MainForm WinForm; ///

/// Главная точка входа для приложения. /// static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); _hookID = SetHook(_proc); Application.Run(new MainForm()); UnhookWindowsHookEx(_hookID); } private const int WH_KEYBOARD_LL = 13; //private const int WH_KEYBOARD_LL = 13; private const int VK_F1 = 0x70; private static LowLevelKeyboardProc _proc = HookCallback; private static IntPtr _hookID = IntPtr.Zero; private static IntPtr SetHook(LowLevelKeyboardProc proc) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return SetWindowsHookEx(WH_KEYBOARD_LL, proc, GetModuleHandle(curModule.ModuleName), 0); } } private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0) { Keys number = (Keys)Marshal.ReadInt32(lParam); //MessageBox.Show(number.ToString()); if (number == Keys.PrintScreen) { if (wParam == (IntPtr)261 && Keys.Alt == Control.ModifierKeys && number == Keys.PrintScreen) { // Alt+PrintScreen } else if (wParam == (IntPtr)257 && number == Keys.PrintScreen) { // PrintScreen } } } return CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam); } private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId); private static extern bool UnhookWindowsHookEx(IntPtr hhk); private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); private static extern IntPtr GetModuleHandle(string lpModuleName); } }

Задача вторая

Собственно захват скриншота при нажатии клавиш. Вновь гугление и решение найдено . В этом случае используются функции GetForegroundWindow и GetWindowRect всё из того же user32.dll, а также штатная функция.NET Graphics.CopyFromScreen. Пару проверок и код работает, но с одной проблемой - захватывает также границы окна. К решению этого вопроса вернусь чуть позже.

Код захвата скриншотов

class ScreenCapturer { public enum CaptureMode { Screen, Window } private static extern IntPtr GetForegroundWindow(); private static extern IntPtr GetWindowRect(IntPtr hWnd, ref Rect rect); public struct Rect { public int Left; public int Top; public int Right; public int Bottom; } public Bitmap Capture(CaptureMode screenCaptureMode = CaptureMode.Window) { Rectangle bounds; if (screenCaptureMode == CaptureMode.Screen) { bounds = Screen.GetBounds(Point.Empty); CursorPosition = Cursor.Position; } else { var handle = GetForegroundWindow(); var rect = new Rect(); GetWindowRect(handle, ref rect); bounds = new Rectangle(rect.Left, rect.Top, rect.Right, rect.Bottom); //CursorPosition = new Point(Cursor.Position.X - rect.Left, Cursor.Position.Y - rect.Top); } var result = new Bitmap(bounds.Width, bounds.Height); using (var g = Graphics.FromImage(result)) { g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size); } return result; } public Point CursorPosition { get; protected set; } }

Задача третья

Сохранения скриншота на компьютер, тут всё очень просто достаточно было использовать функцию Bitmap.Save.

Private void save_Click(object sender, EventArgs e) { if (lastres == null) { return; } // генерируем имя с помощью base36 Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; var FileName = base_convert(unixTimestamp.ToString(), 10, 36); lastres.Save(spath + FileName); }

Задача четвёртая

Загрузка скриншота на сервер, тут вроде кажется, что всё просто, но это не совсем так. После небольшого размышления пришла в голову довольно простая идея - загружать скриншот при помощи WebClient в бинарном формате используя заголовок «application/octet-stream» и функцию WebClient.UploadData, а на стороне сервера брать данные с помощью file_get_contents(«php://input»). Собственно так и поступил, написал очень простой php скрипт в пару строк и привязал всё это дело к программе. Итог - скриншоты сохраняет и загружает. Вместе с этим надо было найти простой алгоритм генерации коротких ссылок, итого нагуглил очень простой и элегантный способ заключающийся в использовании Base36, взяв за int unix время в секундах (linux epoch).

// переводим bitmap в byte private Byte BitmapToArray(Bitmap bitmap) { if (bitmap == null) return null; using (MemoryStream stream = new MemoryStream()) { bitmap.Save(stream, ImgFormat); return stream.ToArray(); } } private void upload_Click(object sender, EventArgs e) { using (var client = new WebClient()) { client.Headers.Add("Content-Type", "application/octet-stream"); try { var response = client.UploadData(svurl, BitmapToArray(lastres); var result = Encoding.UTF8.GetString(response); if (result.StartsWith("http")) { System.Diagnostics.Process.Start(result); } } catch { } } }

Принимающий PHP-скрипт

Редактирование скриншотов

Далее захотелось также как-то быстро редактировать скриншоты и загружать их на сервер. Вместо изобретения очередного редактора изображений родилась очень простая идея - сделать кнопку «редактировать» которая открывала paint с захваченным скриншотом (последним что сохранил на диск), а после редактирования можно было спокойно загрузить этот файл на сервер.

Private void edit_Click(object sender, EventArgs e) { if (lastres == null) return; if (lastfile == "") save_Click(sender, e); Process.Start("mspaint.exe", "\"" + lastfile + "\""); }

Настройки

Также надо было где-то указывать url сайта и папку по умолчанию куда сохранять скриншоты, в итоге создал простенькую форму настроек где это можно было указать. Ну и вдобавок сделал кнопку «открыть папку» чтобы всё было ещё проще и быстрее с помощью функции System.Diagnostics.Process.Start. Кроме этого быстро научил программу сворачиваться в трей.

Итак после всего этого был готов первый рабочий прототип , и выглядел он так:

Предосмотр

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

Private void PreviewForm_Load(object sender, EventArgs e) { if (form1.lastfile!="") { img.Image = Image.FromFile(form1.lastfile); } else { img.Image = form1.lastres; } ClientSize = new Size(img.Image.Width + 10, img.Image.Height + 10); img.Width = img.Image.Width+10; img.Height = img.Image.Height+10; if (img.Image.Width >= Screen.PrimaryScreen.Bounds.Width || img.Image.Height >= Screen.PrimaryScreen.Bounds.Height) { WindowState = FormWindowState.Maximized; } CenterToScreen(); }

Формат изображений

Кроме этого появилась также необходимость сохранения скриншотов в разных форматах (а не только PNG как по умолчанию), благо всё это легко решается с помощью всё той же функции Bitmap.Save, правда вот качество jpg изображений меня не устроило. Возможность указать качество у jpg было не так очевидно, быстрое гугление и есть решение . Реализуется с помощью доп параметра EncoderParameter к Bitmap.Save.

// получаем энкодер по формату private ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo codecs = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; } internal void SaveFile(string FilePath, ImageFormat format) { var curimg = lastres; if (format == ImageFormat.Jpeg) { System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; ImageCodecInfo Encoder = GetEncoder(format); EncoderParameters myEncoderParameters = new EncoderParameters(1); myEncoderParameters.Param = new EncoderParameter(myEncoder, Properties.Settings.Default.quality); curimg.Save(stream, Encoder, myEncoderParameters); } else { curimg.Save(FilePath, format); } }
Также родилась идея автоматического открытия папки после сохранения скриншота, а также авто открытию ссылки после загрузки. Быстро это реализовал и добавил галочки в настройки. Ещё добавил функцию копирования ссылки в буфер обмена.

После добавления кнопки предосмотр, программа как-то стала выглядеть «не так», расположение кнопок было разбросано, подумал немного, и попереставлял кнопки, так что вышло следующее:

Мелкие доработки

Немного передохнув и подумав, понял чего ещё не хватает - информации о последней загрузке скриншота. Сделал соответствующее поле, при нажатии на которое можно было перейти по ссылке. Помимо этого сделал кнопки сохранения/редактирования недоступными пока не сделаешь скриншот. Ну и ещё один штрих - добавил кнопку «о программе» с кратким описанием, версией и датой билда (кстати для получения даты опять нагуглил решение , получая дату с заголовка самого приложения).

Итого после этих действий вышло следующее:


Для перевода некоторых сообщений нужно было создать новые файлы ресурсов и потом брать из него строки следующим образом:

Internal ResourceManager LocM = new ResourceManager("ScreenShot_Grab.Resources.WinFormStrings", typeof(MainForm).Assembly); LocM.GetString("key_name");
Файл с русским языком у меня WinFormStrings.resx, для английского WinFormStrings.en.resx, которые положил в папку Resources.

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

Код смены языка в реальном времени

private void ChangeLanguage(string lang) { foreach (Form frm in Application.OpenForms) { localizeForm(frm); } } private void localizeForm(Form frm) { var manager = new ComponentResourceManager(frm.GetType()); manager.ApplyResources(frm, "$this"); applyResources(manager, frm.Controls); } private void applyResources(ComponentResourceManager manager, Control.ControlCollection ctls) { foreach (Control ctl in ctls) { manager.ApplyResources(ctl, ctl.Name); Debug.WriteLine(ctl.Name); applyResources(manager, ctl.Controls); } } private void language_SelectedIndexChanged(object sender, EventArgs e) { var lang = ((ComboboxItem)language.SelectedItem).Value; if (Properties.Settings.Default.language == lang) return; UpdateLang(lang); } private void UpdateLang(string lang) { Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang); ChangeLanguage(lang); Properties.Settings.Default.language = lang; Properties.Settings.Default.Save(); form1.OnLangChange(); } private void Form2_Load(object sender, EventArgs e) { language.Items.Clear(); foreach (CultureInfo item in GetSupportedCulture()) { var lc = item.TwoLetterISOLanguageName; var citem = new ComboboxItem(item.NativeName, lc); //Debug.WriteLine(item.NativeName); // Задаём для дефолтного языка свой код и заголовок в списке if (item.Name == CultureInfo.InvariantCulture.Name) { lc = "ru"; citem = new ComboboxItem("Русский", lc); } language.Items.Add(citem); if (Properties.Settings.Default.language == lc) { language.SelectedItem = citem; } } } private IList GetSupportedCulture() { //Get all culture CultureInfo culture = CultureInfo.GetCultures(CultureTypes.AllCultures); //Find the location where application installed. string exeLocation = Path.GetDirectoryName(Uri.UnescapeDataString(new UriBuilder(Assembly.GetExecutingAssembly().CodeBase).Path)); //Return all culture for which satellite folder found with culture code. IList cultures = new List(); foreach(var cultureInfo in culture) { if (Directory.Exists(Path.Combine(exeLocation, cultureInfo.Name))) { cultures.Add(cultureInfo); } } return cultures; }

Проблема захвата границ у окна

А теперь я вернусь к проблеме захвата границ окна, этот вопрос сначала был решён с помощью функции автоматической обрезки окна (которую я добавил в настройки), указав значения для windows 10, но это был скорее костыль чем решение. Чтобы было понятнее о чём речь вот скриншот того что я имею ввиду:


(скриншот с более новой версии)

Как видно на скриншоте - кроме окна захватывало его границы и то что под ними. Довольно долго гуглил как решить эту проблему, но потом наткнулся на , где собственно описывалось решение вопроса, суть заключается в том что на windows vista и новее нужно использовать dwmapi для получения корректных границ окна с учётом aero и тд. С небольшой модификацией своего кода успешно привязал к dwmapi и проблема наконец была полностью решена. Но т.к. функционал обрезки окна уже был написан, решил оставить его, возможно кому-то будет полезен.

Private static extern int DwmGetWindowAttribute(IntPtr hwnd, int dwAttribute, out Rect pvAttribute, int cbAttribute); public Bitmap Capture(CaptureMode screenCaptureMode = CaptureMode.Window, bool cutborder = true) { ... var handle = GetForegroundWindow(); var rect = new Rect(); // Если Win XP и ранее то используем старый способ if (Environment.OSVersion.Version.Major < 6) { GetWindowRect(handle, ref rect); } else { var res = -1; try { res = DwmGetWindowAttribute(handle, 9, out rect, Marshal.SizeOf(typeof(Rect))); } catch { } if (res<0) GetWindowRect(handle, ref rect); } ...

Поддержка imgur

Потом ещё подумав, раз я собираюсь публиковать программу для всех, то наверное было бы неплохо кроме загрузки на свой сервер сделать загрузку на какой-то сервис, ведь тогда программа будет более полезной, и не нужно иметь обязательно свой сервер для её использования, т.к. я давно использую imgur.com и у него есть простой api , то решил сделать привязку к нему. Посидев поизучав его api сначала реализовал анонимную загрузку, а чуть позже и возможность привязки аккаунта. Кроме этого реализовал возможность удаления последнего загруженного изображения в программе (для их сервиса только).

Полностью описывать код реализации их api я не буду, скажу лишь что для загрузки изображений на imgur использовал HttpClient и MultipartFormDataContent из.NET Framework 4.5 и при этом я переделал код загрузки изображений на свой сервер, вместо бинарной отправки использовал полноценную загрузку с помощью формы чтобы унифицировать код. Попутно для своего скрипта как способ идентификации использовал user-agent и $_GET ключ, что-то не захотелось возиться с полноценной авторизацией (хотя это по идее не сложно).

Private void uploadfile(bool bitmap = true) { byte data; if (bitmap && !imgedit) { data = BitmapToArray(lastres); } else { if (!File.Exists(lastfile)) { MessageBox.Show(LocM.GetString("file_nf"), LocM.GetString("error"), MessageBoxButtons.OK, MessageBoxIcon.Error); return; } data = File.ReadAllBytes(lastfile); } HttpContent bytesContent = new ByteArrayContent(data); using (var client = new HttpClient()) using (var formData = new MultipartFormDataContent()) { ... formData.Add(bytesContent, "image", "image"); try { var response = client.PostAsync(url, formData).Result; if (!response.IsSuccessStatusCode) { MessageBox.Show(response.ReasonPhrase, LocM.GetString("error"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); lastlabel.Text = LocM.GetString("error"); lastlabel.Enabled = false; } else { ... }
Итого получилась вполне работоспособная и функциональная программа, которой уже можно было делать куда больше вещей, чем я планировал делать изначально.

Список настроек на тот момент выглядел так:

Совместимость с Win XP

После я стал думать о совместимости с Windows XP, в итоге оказалось что она поддерживает лишь.NET Framework 4.0, а MultipartFormDataContent доступен лишь в v4.5, но её можно по прежнему подключить в v4.0 установив пакет System.Net.Http. По началу я так и сделал. И вроде всё хорошо, кроме того что на Windows Vista/7 нужно устанавливать.NET Framework 4.0 для того чтобы программа заработала. Переключил проект на 3.5, переписал загрузку изображений на WebClient, и вместо загрузки файла использовал обычное поле с закодированным изображением в формате base64, благо api у imgur позволяет так загружать изображения, да и переписать свой php скрипт не составило труда под этот вариант. А потом решил также переключить проект на версию 2.0, и в итоге банальной правкой пары строк получил полностью рабочий.NET Framework 2.0 проект.

Using (var client = new WebClient()) { var pdata = new NameValueCollection(); ... pdata.Add("image", Convert.ToBase64String(data)); try { var response = client.UploadValues(url, "POST", pdata); var result = Encoding.UTF8.GetString(response); ...
$file = base64_decode($_POST["image"]);
Это всё позволило запускать программу на старых фреймворках, а на Windows Vista/7 запускать без установки чего либо, т.к. согласно этой статье Windows Vista содержит v2.0, а Windows 7 содержит v3.5 по умолчанию. Но на этом проблемы не закончились. На Windows 8 и новее начало просить установку.NET Framework v3.5, что конечно плохо, но вопрос был быстро решил благодаря этой информации , подправив опции supportedRuntime в конфиге, позволяя запускать приложение на новой или старой версии без каких либо проблем. Кроме этого сделал возможность использования протокола TLS 1.2 если он доступен (т.е на системах с.NET Framework 4.5).

app.config


Поддержка TLS 1.2

System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls; try { System.Net.ServicePointManager.SecurityProtocol |= (SecurityProtocolType)3072; //SecurityProtocolType.Tls12; } catch { }

История событий

По большому счёту думал что всё, на этом хватит, можно релизить, но всё же по прежнему чего-то не хватало - истории действий с логом. Начал разработку соответствующего окна с некоторыми функциями, как удаления файла с пк и imgur, открытие файла/ссылки, копирования пути/ссылки с помощью контекстного меню. Также сделал возможность сохранить события в лог файл как из списка, так и автоматически задав в настройках.

Вышло вполне информативное окно:

Проблема в работе HookCallback на Win XP

Но вылезла одна проблема - на Windows XP при захвате сркиншотов запись добавлялась дважды. В ходе тестов выяснил, что HookCallback вызывается дважды при отпускании клавиши, причина такого поведения мне была не ясна, но решил вопрос довольно легко - сделал дополнительную проверку нажатия клавиши сохраняя это в переменную, а при отпускании клавиши изменение переменной на false, в итоге нужный мне код стал обрабатываться лишь 1 раз при отпускании клавиши.

Private static bool pressed = false; private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0) { Keys number = (Keys)Marshal.ReadInt32(lParam); //MessageBox.Show(number.ToString()); if (number == Keys.PrintScreen) { if (pressed && wParam == (IntPtr)261 && Keys.Alt == Control.ModifierKeys && number == Keys.PrintScreen) { var res = Scr.Capture(ScreenCapturer.CaptureMode.Window, Properties.Settings.Default.cutborder); WinForm.OnGrabScreen(res, false, true); pressed = false; } else if (pressed && wParam == (IntPtr)257 && number == Keys.PrintScreen) { var res = Scr.Capture(ScreenCapturer.CaptureMode.Screen); WinForm.OnGrabScreen(res); pressed = false; } else if (wParam == (IntPtr)256 || wParam == (IntPtr)260) { pressed = true; // fix for win xp double press } } } return CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam); }

Проблема захвата скриншотов из игр

Чуть позже в ходе тестирования столкнулся с проблемой захвата скриншотов из полноэкранных приложений (например игры), заметил что в windows 10 штатный printscreen захватывает это дело без проблем, в итоге добавил функцию вставки изображения из буфера обмена, а также добавил галочку «использовать буфер обмена вместо захвата» в настройки, тем самым «решил вопрос» для себя, но как оказалось в win 7 и ниже это не работает, начал изучать вопрос, и понял что это довольно сложная задача, с необходимостью использования directx инъекций, в итоге попросту забил на эту проблему, всё-таки основная цель не захват скриншотов из игр, для этого существует множество других программ и инструментов.

Попутно добавив настройки переделал меню настроек, сделал его более компактным чтобы вмещалось на экран с разрешением 640*480 пикселей, и оно стало выглядеть так:


Также сделал более функциональным иконку в трее, добавив туда все важные функции при щелчке правой кнопкой:

Проверка на Win98 и Win2000

Ну и уже чисто ради эксперимента развернул на виртуалке windows 2000 SP4 и 98 SE, поставил там.NET Framework 2.0. Это было сделать не так просто, т.к. требовалась установка некоторых патчей и обновить Windows Installer. Но всё же всё получилось и я попробовал запустить приложение.

Как оказалось на Windows 2000 SP4 приложение оказалось полностью рабочим, а вот на Windows 98 SE захват клавиш не работал, вставка из буфера тоже не работает, однако загрузка скриншота из файла работает без проблем. Собственно эти проблемы решить не получилось, информации крайне мало, всё что смог выяснить - параметр «WH_KEYBOARD_LL» добавили лишь в Windows 2000. А о причине не работающей вставки изображения из буфера вообще не нашёл никакой информации. Итого мин требования - Windows 2000. Добавить метки

Любая информация, которая появляется на экране вашего монитора, может быть записана. Многие используют такую возможность для создания каких-то обучающих роликов, знакомящих пользователей, к примеру, с операционной системой «Виндовс», а некоторые выкладывают на «Ютуб» прохождение игр. Сфер применения такому функционалу множество, так же как и инструментов для реализации оного.

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

Movavi Video Suite

Данная утилита - это не просто программа для захвата экрана, а многофункциональное решение, которое работает с любыми источниками и схватывает видеоряд в один клик. Софт легко нарезает поток, обрабатывает его, может наложить какие-то эффекты, а также адаптировать под, к примеру, «Ютуб» или социальную сеть.

За получение фотоизображения отвечает другая программа - Sharex Movavi Screen Capture, которая поставляется отдельно. Если сравнить цены этой утилиты и комплекса Video Suite, становится ясно, что лучше взять полный набор, потому как разница в цене практически не ощущается.

Преимущества софта:

  • захват потока с экрана и других цифровых приёмников, включая VHS;
  • создание видео с нуля;
  • полный доступ к звуковым каналам и устройствам ввода;
  • возможность обработки фото- и видеоряда с последующей конвертацией;
  • присутствует интерфейс для нелинейного монтажа;
  • регулировка в реальном времени развёрстки экрана и качества картинки;
  • наличие грамотных инструментов для экспорта в сеть, на мобильные гаджеты и в DVD-форматы;
  • интуитивно понятный интерфейс программы для захвата экрана и толковая локализация;
  • огромное количество обучающих фото- и видеоматериалов.

Экранная камера

Ещё одна мощная утилита для работы с видеопотоком. На фоне прочих аналогов эта программа для захвата видео с экрана компьютера демонстрирует целый ряд преимуществ. Софт прекрасно подойдёт для тех, кому необходима запись онлайн-трансляций, каких-то роликов из игр и программ, а также отдельных видеокадров.

Утилита идёт с платной лицензией, но денег своих она стоит. Пользователь в два клика может приступить к захвату потока и в реальном времени накладывать разные эффекты. Кроме того, её можно и нужно использовать как программу для захвата текста с экрана, потому как качество картинки на выходе устроит любого, даже самого привередливого пользователя.

Отличительные особенности

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

С адаптацией форматов у данной программы для захвата экрана также нет никаких проблем. К вашим услугам конвертация в AVI, MKV, MOV и МР4. Добавим сюда же толковую русскую локализацию - и получим отличный продукт для работы с видео, фото и текстовым потоком. На официальном ресурсе разработчика можно скачать условно бесплатную программу для захвата экрана с пробным периодом. Стоимость у неё не такая уж и большая в сравнении с остальными аналогичными утилитами, поэтому софт пользуется завидной популярностью у отечественных пользователей.

Плюсы утилиты:

  • захват абсолютного любого потока с экрана монитора;
  • отличается самым удобным и интуитивно понятным интерфейсом среди прочих аналогов;
  • крайне качественная локализация на русский язык;
  • идеальный инструмент для создания обучающих роликов и презентаций;
  • экспорт в популярные видеоформаты;
  • отсутствует ограничение времени на запись потока;
  • есть возможность обрезки рекламных блоков во время онлайн захвата;
  • контент на выходе получается высокого качества (HD);
  • наличие собственного редактора;
  • функция - «звук поверх видео»;
  • обширный арсенал эффектов для наложения на контент.

AVS Video Editor

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

Но несмотря на кажущуюся простоту, утилита обладает целым перечнем профессиональных инструментов: масштабирование, выделение, монтирование, изменение развёрстки в реальном времени, рисование и т.д.

Отличительные черты утилиты

Все параметры, необходимые для получения потока с экрана, тонко настраиваются, а после получения исходного материала можно воспользоваться имеющимся мощным редактором. Пользователь может сделать из полученного контента видеоклип, летсплей или гайд, а также адаптировать видеоряд для мобильных гаджетов.

Особенности софта:

  • универсальность продукта (кроме функций захвата вы получаете мощную программу для обработки видеоконтента);
  • наличие функционала, позволяющего монтировать аудио- и видеодорожки, взятые из разных источников;
  • сама утилита захвата прекрасно реализована и имеет большое количество настроек;
  • громадная база данных эффектов, переходов, фильтров и т.п.;
  • стабилизация ФПС за счёт грамотной автоматической подстройки;
  • адаптация контента под все актуальные форматы;
  • простой и понятный для новичка функционал, а также многообразие учебных материалов.

Подводя итог

В обзор не попали многие толковые утилиты, в том числе и бесплатные. Если вы собираетесь серьёзно заняться стримерством, летсплеем или выкладыванием каких-то учебных пособий на «Ютуб», то лучше не поскупиться и купить лицензию одной из вышеописанных программ. Они станут незаменимыми помощниками в вашем деле и не будут создавать проблемы на пустом месте, как это бывает в случае с бесплатным софтом. Поддержка данных продуктов осуществляется в полном объёме, поэтому ответы на возникшие в процессе эксплуатации вопросы вы получите сравнительно быстро. К тому же разработчики постоянно обновляют свои продукты, добавляя какие-то новые особенности, плагины, фильтры и прочий антураж для ещё большей эффективности.

Если же вы редко пользуетесь подобным софтом и качество на выходе для вас не так критично, то всегда есть бесплатные приложения, что называется, для пробы пера: Debut Video Capture, Fraps, Free Screen Video Recorder и прочие.

Программы для захвата области экрана, редактирования и печати изображений

Новое в категории "Захват экрана":

Бесплатная
ABBYY Screenshot Reader 9.0 представляет собой удобное и простое приложение по созданию снимков с любой из частей экрана. Приложение ABBYY Screenshot Reader поможет сохранить изображение со всего экрана, окна запущенного приложения или даже выделенной вручную области.

Бесплатная
SuperScreen 1.0 является программой предназначенной для снятия с экрана монитора скриншотов. Программа SuperScreen позволяет сделать скриншот: со всего экрана, с активного окна программы или выделенной области на экране.

Бесплатная
SnagIt 10.0.2 является программой по лёгкому снятию скриншотов с экрана. К тому же программа SnagIt обладает возможностью снимать не только обычные скриншоты, но и создавать видео ролики, отображающие всё, что совершается на экране монитора.

Бесплатная
Screenshot Maker 7.12 beta является мощной программой, которая сделает снимки со всего экрана или его активного окна, а затем сохранит их в форматах bmp, jpg или gif в указанной вами папке. Программа Screenshot Maker осуществляет создание скриншотов при помощи горячих клавиш.

Бесплатная
Screenshot Creator 2.0 является бесплатной программой по созданию снимков экрана, которая не уступает по возможностям многим платным аналогам. Программа Screenshot Creator позволяет создавать снимки, как всего экрана, или активного окна, так и области экрана указанной вручную.

Бесплатная
I-Скриншот 3.0.0.3PR – это программа, которая позволит создать снимок с экрана (скриншот, в том числе с использованием клавиши Print Screen), вэб-сайта или видеоустройства простым нажатием на клавишу. Программа I-Скриншот по желанию, может опубликовать сделанные снимки на FTP сервере в сети Интернет или использовать такие сервисы как TestIP.RU и ImageShack.

Бесплатная
HyperSnap 7.13.04 EN / 7.13.04 RU является удобным инструментом по захвату изображений, который позволяет скопировать даже игры, видеофильмы и скринсейверы, а не только окна у стандартных программ. Программа HyperSnap-DX обладает возможностью делать скриншоты всего экрана, его части или окна определенной программы.

Бесплатная
Fresh View 8.36 является универсальным просмотрщиком и конвертером мультимедийных файлов. Программа Fresh View даст возможность просматривать графические файлы или воспроизводить в различных форматах файлы аудио и видео. Данная версия поддерживает порядка 90 различных форматов и число форматов поддерживаемых программой постоянно увеличивается.

Бесплатная
Free Screen Video Recorder 2.5.20 является мощной программой по захвату изображений и записи видео с монитора. Программа Free Screen Video Recorder позволит легко записать видео различных действий произведённых на вашем экране, а также сделать скриншоты с полного экрана, отдельных объектов, открытых окон, меню и другого.

Бесплатная
D3DGear 4.13 Build 1389 является программой, которая обладает возможностью изменения количества кадров в секунду (FPS) и отображения в игровых 3D приложениях показателя на мониторе. Программу D3DGear можно использовать в качестве инструмента по захвату, она позволяет сделать снимки экрана и сохранить их в наиболее популярных графических форматах (PPM, BMP, PNG, TGA, JPG или HDR).

Бесплатная
ScreenShot 3.1 поможет бесплатно и быстро сделать скриншот или осуществить запись видео прямо с экрана монитора. Программа ScreenShot может назначать горячие клавиши для таких действий, как начало записи видео, создание снимка, или окончание записи.

Бесплатная
Fraps 3.4.7 поможет подсчитать в приложениях, которые осуществляют свою работу в режиме OpenGL или Direct3D количество FPS (кадров в секунду). Программа Fraps умеет также делать скриншоты и производить запись видеороликов с изображением, сделанным с экрана.