MiniCap is a minimal screenshot capture app intended to be invoked from the commandline or bundled with and called from other tools.
MiniCap has good commandline support, including the ability to launch (and then terminate) apps, capture windows by handle, processid, process name, or interactively.
MiniCap has a convenient interactive capture mode (based on Screenshot Captor's Redbox Capture mode) which may be useful if you don't want to have something like Screenshot Captor running in the background. But where MiniCap really shines is it's use as a non-interactive commandline tool.
If you like MiniCap, be sure to check out MiniCap's big brother, Screenshot Captor
commandline options (this text can be found in the MiniCap help file included in download):
If run on the commandline without any arguments, MiniCap starts up in interactive capture mode, where you can select the object on screen to capture and then save the file with a filename and format of your choice.
However, the more common use for MiniCap is in non-interactive commandline mode. You can use the following commandline arguments for non-interactive capture:
Tells MiniCap to automatically save the captured image using the specified filename, including path, and extension which should include the image format extension of your choice (.jpg, .gif, .pdf, .png, .bmp, .tiff).
You can use certain fields which will be replaced:
$appdir$ - application directory (useful if you want to save snapshot in same directory)
$appname$ - application exe name (without path)
$nicename$ - nice name of application exe (taken from exe resource)
$windowtitle$ - window caption
$uniquenum$ - adds unique number to filename to avoid overwriting existing files (number only added when needed to avoid existing file)
$uniquenum0$ - adds unique number to filename to avoid overwriting existing files (number ALWAYS added)
$datetime$ , $date$ , $time$ - local date/time
$dt:%DATEFORMATSTRING$ - where DATEFORMATSTRING is made up from the following:
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%I Hour in 12-hour format (01 – 12)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%p Current locale's A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00 – 59)
%U Week of year as decimal number, with Sunday as first day of week (00 – 53)
%w Weekday as decimal number (0 – 6; Sunday is 0)
%W Week of year as decimal number, with Monday as first day of week (00 – 53)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number
%z Time-zone name
%Z Time-zone abbreviation
Tells the app that is run to close after screenshot is taken
If you don't specify -closeapp or -killapp then the app will be left running after the app is launched
Closes app harshly if it won't close by normal request
Sleep # seconds before engaging capture
Capture current screen
Capture entire desktop workspace (all multimonitors if more than one exists)
Automatically capture the application specified by a -run argument
Automatically capture the window with the specified handle number (specified in decimal)
Automatically capture the main window of the application with the specified process id (specified in decimal)
-captureregion left top right bottom
Capture screeen region specified
Interactive capture of region (traditional style mode -- locked to current screen of multimonitor)
Interactive capture of region (red box mode)
Interactive capture of object (red box mode)
Find the window of the running exe specified and capture it (specify filename with extension but no path)
Capture last active window
Exit minicap after the screenshot is saved
If you don't specify this then MiniCap will remain open after the capture.
Use scrolling window capture more
Set window to be captured to foreground before capturing
Captures client area of the window, useful when capturing windows which have no borders/titlebar
-run "APPNAME" [args+]
Runs a specific application specified before capturing.
All arguments after appname are passed on the commandline to the app, so -run needs to be the last argument you specify
-runcap "APPNAME" [args+]
Same as calling with -run and automatically adds the following arguments for easy use:
"-closeapp -exit -sleep 3 -captureapp"
Like -run, this needs to be the LAST arguments you specify
runs a program after the image is saved (use $file$ to replace saved image filename in commandline)
Set compression quality from 1 to 10 (10 is highest quality and biggest image); default to 8
Copy the image to clipboard after capture
Copy the saved image filename (full path) to clipboard after capture
Add a nice border and shadow to image
Asks user for filename to save immediately after a capture.
If combined with a filename specified using -save "FILENAME" then you will be prompted to save as with the filename pre-filled out.
resize x dimension to PERCENTAGE% of its original value (y will be scaled to preserve ratio if no y resize value specified)
resize y dimension to PERCENTAGE% of its original value (x will be scaled to preserve ratio if no x resize value specified)
resize x dimension to exactly WIDTH pixels (y will be scaled to preserve ratio if no y resize value specified)
resize y dimension to exactly HEIGHT pixels (y will be scaled to preserve ratio if no y resize value specified)
print the captured image
show a print preview before printing and allow adjustment of margins, etc.
sets a specific printer for printing (to get a list invoke -setprinter list); you can use the full name or a substring
CONVERTMODE is from:
bwo = Black+White (ordered)
bwf = Black+White (floydSteinberg method)
bwt = Black+White (local threshold)
bwt1 = Black+White (global threshold of 128)
bwt2 = Black+White (global threshold of avg pixel)
btw3 = Black+White (global threshold set by entropy)
gray = Grayscale
disables the new aero capture mode even on vista/win7 machines
THRESHOLD should be an integer from 0 to 255
if set to 0 then no automatic shadow removal/border trimming will take place, and a larger image with the aero shadow will be captured.
a higher value, like 200, will attempt to clean up the borders and result in small image dimensions by removing bordering pixels with alpha values smaller than that specified.
COLORCOMPONENTVALUE should be an integer from 0 to 255
if you specify 0 you will get a black background when flattening (see below), if 255 then a white background when flattening
flattens the area inside the border so that the image has only 2 levels of transparency -- purely transparent outside the border (see option above), and purely opaque inside the border region. the -aerocolor parameter specifies the background color to merge transparency with when flattening.
sets the DPI value in the image properties of the saved image (useful when importing images into MS word, printing, etc.
play a sound after a capture.
MiniCap.exe -save "C:\screen_$appname$$uniquenum$_$date$.jpg" -closeapp -exit -sleep 4 -capturerunapp -run "C:\Program Files\Macromedia\FlashPlayer.exe" "C:\MyMovie.swf"
MiniCap.exe -capturerunapp -exit -save "D:\desktop.png" -sleep 5 -closeapp -exit -run "C:\WINDOWS\system32\notepad.exe" "C:\WINDOWS\test.txt"
-save "E:\test.jpg" -runcap "C:\WINDOWS\system32\notepad.exe" "C:\WINDOWS\test.txt"