64 votes

Faire une capture d'écran à partir de la ligne de commande sous Windows

Je cherche un moyen de faire une capture d'écran de tout l'écran à partir de la ligne de commande. Le système d'exploitation est Windows. Quelque chose comme ceci :

C:\>screenshot.exe screen1.png

8voto

Faraday Points 61

Capture d'écran-cmd réalise une capture d'écran d'un bureau ou de toute fenêtre sélectionnée par son titre. Il est également possible de sélectionner un rectangle à capturer. Le résultat est enregistré dans un fichier png. (dernière mise à jour en 2011)

OPTIONS:
    -wt WINDOW\_TITLE
            Select window with this title.
            Title must not contain space (" ").
    -wh WINDOW\_HANDLE
            Select window by it's handle
            (representad as hex string - f.e. "0012079E") 
    -rc LEFT TOP RIGHT BOTTOM
            Crop source. If no WINDOW\_TITLE is provided
            (0,0) is left top corner of desktop,
            else if WINDOW\_TITLE maches a desktop window
            (0,0) is it's top left corner.
    -o FILENAME
            Output file name, if none, the image will be saved
            as "screenshot.png" in the current working directory.
    -h
            Shows this help info.

Inspiré par : http://blog.mozilla.com/ted/2009/02/05/command-line-screenshot-tool-for-Windows/

7voto

James Points 545

Vous pouvez essayer le coupe-boîte outil :

usage: boxcutter [OPTIONS] [OUTPUT_FILENAME]

Saves a bitmap screenshot to 'OUTPUT_FILENAME' if given.  Otherwise, 
screenshot is stored on clipboard by default.

OPTIONS
  -c, --coords X1,Y1,X2,Y2    capture the rectange (X1,Y1)-(X2,Y2)
  -f, --fullscreen            fullscreen screenshot
  -v, --version               display version information
  -h, --help                  display help message

6voto

programmer365 Points 1

Vous pouvez utiliser le code PowerShell trouvé aquí :

[Reflection.Assembly]::LoadWithPartialName("System.Drawing")
function screenshot([Drawing.Rectangle]$bounds, $path) {
   $bmp = New-Object Drawing.Bitmap $bounds.width, >$bounds.height
   $graphics = [Drawing.Graphics]::FromImage($bmp)

   $graphics.CopyFromScreen($bounds.Location, [Drawing.Point]::Empty, $bounds.size)

   $bmp.Save($path)

   $graphics.Dispose()
   $bmp.Dispose()
}

$bounds = [Drawing.Rectangle]::FromLTRB(0, 0, 1000, 900)
screenshot $bounds "C:\screenshot.png"

5voto

alpha_989 Points 893

Vous pouvez utiliser le Pillow Bibliothèque Python pour prendre des captures d'écran du moniteur principal

Étape 1 : installer l'oreiller :

pip install -user pillow

Étape 2 : Faites des captures d'écran avec le code suivant :

from PIL import ImageGrab
img = ImageGrab.grab()
img.save('screenshot.bmp')

1voto

Richard Points 5289

Vous pouvez utiliser un produit commercial snapit pour faire de superbes captures d'écran à partir de la ligne de commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X