ScreenShoter v3.0

Свершилось, вышла новая версия ScreenShoter. Программа опять сделана с нуля (нет, я не мазохист и заняться мне есть чем, просто решил попрактиковаться в программировании :) Причина проста - теперь SS написан на C++. Из-за этого замечены следующие изменения:

  1. Размер программы уменьшился, правда не так уж и сильно, но это проявится при дальнейшем развитии (если таковое будет). Однако если сравнить функциональность и размер этой версии с прошлой разница будет видна невооружённым взглядом.
  2. Улучшилась производительность (по крайней мере теоретически).
  3. Запущенная программа занимает памяти в разы меньше, так что теперь можно смело оставлять SS запущенным и свёрнутым. Вас может насторожить цифра порядка 2 Mb, но это не настоящая занимаемая память. Тут считаются все библиотеки, которые на самом деле уже загружены другими программами (например Explorer'ом). Грузятся эти библиотеки всего один раз, и занимают соответственно не много места, просто Менеджер задач плюсует их размер к размеру программы, пользующейся ими. Так и получаются эти злые числа :) В добавок лишние библиотеки по прошествии времени выгружаются. Это легко проверить - откройте главное окно программы, посмотрите сколько памяти кушает SS, теперь сверните главное окно. Размер стал < 500 Kb!

Теперь о функциональных плюсах:

  1. Добавлена возможность делать снимок клиентской части окна.
  2. Теперь для каждой функции можно задать свою отдельную комбинацию горячих клавиш.
  3. Задержка при автосъёмке изменена с кадров в секунду на миллисекунды (не всё же SS в играх использовать). Теперь можно делать автоматические снимки с задержкой более одной секунды.
  4. Используется целых 4 типа сохранения графических файлов.
  5. Появилась возможность делать снимки с видео.
  6. Можно оставлять курсор на снимке.
  7. Добавлена возможность автозагрузки.
  8. Добавлена корректировка снимков окон, так что теперь можно забыть о полях вокруг окон (теоретически :) мне ещё не довелось толком испытать эту опцию).
  9. Теперь можно снимать полупрозрачные окна.
  10. При снимке экрана все полупрозрачные окна видны, так что теперь не потеряете ни одного окна.
  11. Добавился дополнительный пункт сохранения, теперь можно оперативно сохранять снимки в любое место.
  12. Добавлено ведение лога работы программы, так что при ошибке (иконка в трее сменится на знак "кирпич:)") описание ошибки можно посмотреть в файле error.log.

Вот вроде и все нововведения. Подробнее о каждом читайте ниже. За нагромождение элементов в окне настроек чур не ругаться - нету времени на другое оформление.

И немного о минусах...

  1. SS лишился поддержки палитр, так что снимки экрана при количестве цветов менее 16bit Вас не порадуют. Специально добавлять в будущем не планируется, но если будет время и необходимая информация, сделаю.

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

Окно настроек:

Настройки программы:

 
Автоматически запускать...  SS будет запускаться при загрузке Windows.
Минимизировать при запуске  Сворачивать главное окно программы при запуске.
Сохранять в папку по дате  При включении этой опции к пути папки будет добавлена подпапка, название которой формируется как "dd_mm_yyyy". То есть если Вы выбрали папку "C:\", а число на дворе например 21 августа 2005 года, файлы сохранятся сюда - "C:\21_8_2005\" Так Вам будет сложнее затереть нужные файлы новыми.
При двойном клике в трее...  
  • открыть главное окно
  •  Будет показано главное окно программы
  • начать выделение области
  •  Нужно будет выделить интересующий Вас фрагмент на экране при помощи мыши, после чего его можно сохранить
    При закрытии окна...  
  • Закрыть программу
  •  При нажатии крестика программа будет закрыта
  • Свернуть окно
  •  Главное окно программы будет скрыто
    При сохранении файла  
  • Сохранить исходя из настроек
  •  Файл будет сохранён в папку, заданную при помощи кнопки "Обзор", или же в папку с датой, если выбрана соответствующая опция
  • Показать окно выбора
  •  Появится меню, в котором можно выбрать место сохранения. Описание пунктов меню смотрите ниже
    Что делать при автосъёмке  Какое действие должен выполнять ScreenShoter, когда Вы включите автосъёмку
    Задержка (мс)  С каким интервалом выполнять действие, выбранное в меню "Что делать при автосъёмке". Задаётся в миллисекундах
       

    Настройки снимков:

     
    Определять меню при съёмке клиента  В некоторых окнах меню не считаются частью клиентской области окна (например в главном окне SS). Если надо, чтобы при съёмке попадали даже такие меню, необходимо выбрать эту опцию.
    Оставлять курсор на снимках  На снимке будет виден курсор.
    Делать снимки видео   При включении этой опции появляется возможность делать снимки с видео. Сделано отдельной опцией из-за загрузки памяти. Включать её надо ДО ЗАПУСКА ВИДЕО ПЛЕЕРА, иначе сниматься ничего не будет. При отключении возможно видео кадры будут сниматься и дальше, но это не гарантировано. И ещё важное замечание - если Вы хотите прекратить снимать видео предварительно закройте видеофайл, с которого Вы делали снимки, иначе программа упадёт :)
    Формат сжатия файлов   Доступно 4 формата: BMP, PNG, JPG и GIF. В windows до XP доступен только BMP.
    Качество  Используется только для JPG. По-умолчанию 0. Это самое плохое качество, то есть там вообще ничего не разобрать. Не забудьте изменить эту настройку исходя из своих требований к качеству.
    Область  Здесь Вы можете задать область экрана, которую требуется снимать функцией "...область". Это наиболее быстрый способ съёмки, хотя сколько-нибудь значительных различий в скорости c другими способами вряд ли можно заметить.
    Корректировка снимков  В связи с использованием в Windws XP стилей размеры окон слегка различаются и при снимке в кадр попадает ненужное пространство. Теперь посмотрев величину излишков в любом графическом редакторе Вы можете задать их здесь и в кадр будет попадать только окно. Используется эта опция только функцией съёмки активного окна и дочернего окна. Правила использования - если пикселы лишние, пишем их со знаком плюс, если же не хватает, то со знаком минус
       
    Функции:  
    Снимать активное окно  Делается снимок активного окна
    ...активное дочернее окно   Делается снимок активного дочернего окна
    ...клиентскую область  Делается снимок клиентской области. Если окно имеет дочерние окна, снимается клиентская область активного дочернего окна
    ...весь экран  Делается снимок всего экрана
    ...область  Делается снимок заданной области. "+" позволяет в наглядной форме задать регион съёмки
    ...окно под курсором  При первом нажатии этого хоткея включается выбор окна, то есть водя мышкой по экрану будет выделяться окно, которое будет снято, это относится и к элементам управления (кнопкам, полям ввода и т.д.) При вторичном нажатии будет сделан снимок выделенного окна.
    Выделять область  Мышкой необходимо указать область, которую надо снять, в этой области нажать правую кнопку мыши и выбрать, сохранить или отменить.
    Начать автосъёмку  ScreenShoter начнёт выполнять действие, выбранное в соответствующем окошке
    Остановить автосъёмку  Остановить выполнение автоматического действия

    На счёт меню сохранения:

    1. Как обычно - снимок сохранится по пути, который был бы без демонстрации меню выбора
    2. Сохранить как - в стандартном диалоге выбора задаёте путь, имя и тип графического файла. Формат будет взят из этого окна вне зависимости, что выбрано в настройках программы
    3. В буфер обмена - изображение сохранится в буфере обмена Windows. После его можно вставить в любом графическом редакторе
    4. Диск 3.5 - снимок сохранится на дискету. Тип будет зависеть от настроек программы, имя от числа сделанных снимков
    5. Отмена - файл сохранён не будет, счётчик не изменится

    И ещё: выражаю огромную благодарность самому активному и результативному бета-тестеру Алексею Черданцеву (aka Scanner) Без него программа выглядела и работала бы совсем по-другому. Спасибо, друг :)