Сделать скриншот из "командной строки"

Для целей автоматизации тестирования я ищу инструмент «командной строки», который делает снимки экрана. До сегодняшнего дня меня устраивал NirCmd , который можно использовать как

nircmd savescreenshot screen.png

К сожалению, это только снимок экрана монитора 1. Поскольку установки с несколькими мониторами становятся все более и более распространенными, мне нужна альтернатива, которая может работать с несколькими мониторами.

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

Другие требования

  • никаких зависимостей, если это возможно (.NET может быть в порядке, поскольку он поставляется с Windows). Инструмент должен работать на новой установке Windows.
  • Установка не требуется. Воздействие на систему должно быть минимальным.
  • бесплатно или с открытым исходным кодом, а также для коммерческого использования (поэтому MiniCap не подходит)
  • «командная строка», что означает, что она не требует взаимодействия с пользователем. Он не должен открывать черное окно консоли или любое другое окно, поскольку это может помешать моей задаче автоматизации.
  • работать на Windows 7 SP1 x64

Я пытался:

Ответы (1)

Вы можете использовать ImageMagick , который соответствует большинству ваших требований, с помощью команды:

convert screenshot: screenshot.jpg
  1. Вывод должен быть аналогичен тому, который Windows копирует в буфер обмена, если вы нажмете PrintScreen, т.е. он должен учитывать макеты экрана, а не только создавать один файл для каждого монитора. Не с помощью приведенной выше команды , но приведенная выше команда будет создавать 1 файл на экран, и вы можете связать его с инструментами мозаики также в магии изображений, чтобы создать то, что вам нужно - вам нужно будет знать свой макет экрана.
  2. никаких зависимостей, если это возможно (.NET может быть в порядке, поскольку он поставляется с Windows). Инструмент должен работать на новой установке Windows. ImageMagick имеет минимальные зависимости и будет запускаться/устанавливаться при новой установке .
  3. Установка не требуется. Воздействие на систему должно быть минимальным. Единичная установка, минимальное воздействие или также есть портативный дистрибутив , не требующий полной установки .
  4. бесплатно или с открытым исходным кодом, а также для коммерческого использования (поэтому MiniCap не подходит) — да , и то, и другое.
  5. «командная строка», что означает, что она не требует взаимодействия с пользователем. Он не должен открывать черное окно консоли или любое другое окно, так как это может помешать моей задаче автоматизации. Поскольку вы не указываете окно консоли и командную строку, я подозреваю, что вы имеете в виду возможность вызова из пакетного файла, и в этом случае Да
  6. работать на Windows 7 SP1 x64 Да и Windows 8, 10, Linux, OS-X
Интересно, что вы отвечаете на это сейчас. Мы начали разработку такого инструмента студентом 2 недели назад.
@Thomas - может быть, тогда они смогут почерпнуть некоторые уловки из источника imagemagick.