Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

xland/ScreenCapture

Open more actions menu

Repository files navigation

English | 简体中文

banner

ScreenCapture

A powerful and lightweight screenshot tool for Windows, built with Qt/C++. Supports cross-screen capture, scrolling screenshots, drawing annotations, and extensive command-line integration.

Features

  • Cross-screen capture, scrolling screenshots (long capture), high-DPI support, and window area highlighting.
  • Color picker with hotkeys for copying RGB (Ctrl+R), HEX (Ctrl+H), and CMYK (Ctrl+K) colors.
  • Drawing tools: Filled/unfilled ellipses, perfect circles (hold Shift), rectangles, squares (hold Shift), arrows, and numbered annotations.
  • Line tools: Curves, straight lines (hold Shift), semi-transparent lines, mosaic, eraser, and text.
  • Edit annotations anytime by hovering over them with the mouse.
  • Undo (Ctrl+Z) and Redo (Ctrl+Y) support.
  • Pin screenshots in new windows with mouse wheel zoom functionality.
  • Save to file (Ctrl+S) or copy to clipboard (Ctrl+C or double-click).
  • High performance with low memory usage and CPU consumption.
  • Portable - single executable file, no installation required, no external dependencies.
  • Rich command-line parameters for easy integration into other applications.

Download

Releases (8MB)

Command Line Usage

Parameter Overview

All command-line parameters are optional. Launching without parameters shows the full screenshot interface.

Basic Parameters

--path (optional): Set the save path for screenshots

# If path is a directory, filename will be auto-generated
ScreenCapture.exe --path:"D:\\screenshots"

# If path includes filename, save with specified name (overwrites if exists)
# Currently supports PNG format only
ScreenCapture.exe --path:"D:\\screenshots\\capture.png"

--lang (optional): Set application language

# Supports Simplified Chinese (zhcn) and English (en), default is zhcn
ScreenCapture.exe --lang:en
ScreenCapture.exe --lang:zhcn

--comp (optional): Compress images when saving

# Format: --comp:quality,scale_percentage
# Quality range: -1 to 9 (integer)
#   0: Minimum compression, largest file
#   9: Maximum compression, smallest file
#  -1: Default compression, medium compression
# Scale percentage range: 1 to 100 (integer)
# Note: Quality parameter has no effect when saving to clipboard
ScreenCapture.exe --comp:6,60

Screenshot Parameters

--cap (optional): Screenshot functionality, mutually exclusive with --pin

Area Screenshot:

# Capture specified area: x,y are top-left coordinates, width,height are dimensions
# Save to clipboard (clipboard parameter is optional, saves to file if not specified)
ScreenCapture.exe --cap:area,10,10,500,600,clipboard

# Save to specified path
ScreenCapture.exe --cap:area,10,10,500,600 --path:"D:\\screenshots"

Fullscreen Screenshot:

# Capture entire screen and save to clipboard (clipboard parameter is optional)
ScreenCapture.exe --cap:fullscreen,clipboard

# Capture entire screen and save to specified path
ScreenCapture.exe --cap:fullscreen --path:"D:\\screenshots"

Custom Screenshot:

# User drags mouse to define capture area, then saves to clipboard
ScreenCapture.exe --cap:custom,clipboard

# User drags mouse to define capture area, then saves to specified path
ScreenCapture.exe --cap:custom --path:"D:\\screenshots"

Long Screenshot:

# Scrolling screenshot with only four control buttons: pin, clipboard, save, close
# Also supports customization via --tool parameter
ScreenCapture.exe --cap:long

Pin Parameters

--pin (optional): Pin functionality, mutually exclusive with --cap

Pin Clipboard Image:

# Pin image from clipboard, x,y are pin window coordinates (optional)
# Default coordinates are 100,100 if omitted
ScreenCapture.exe --pin:clipboard,100,100
ScreenCapture.exe --pin:clipboard

Pin Image File:

# Pin specified image file, x,y are pin window coordinates (optional)
# Default coordinates are 100,100 if omitted
ScreenCapture.exe --pin:file,"D:\\image.png",100,100
ScreenCapture.exe --pin:file,"D:\\image.png"

Pin Area Image:

# Pin desktop area image
# Format: --pin:area,x,y,width,height,windowX,windowY
# First four parameters define capture area, last two are pin window coordinates (optional)
# Default window coordinates are 100,100 if omitted
ScreenCapture.exe --pin:area,100,100,500,600,800,10
ScreenCapture.exe --pin:area,100,100,500,600

UI Customization Parameters

--tool (optional): Control toolbar button order, position, and visibility

# Available tool names:
# Drawing tools: rect(rectangle), ellipse(ellipse), arrow(arrow), number(numbering), line(line), text(text), mosaic(mosaic), eraser(eraser)
# Action tools: undo(undo), redo(redo), pin(pin), clipboard(clipboard), save(save), close(close)
# Separator: |
ScreenCapture.exe --tool:"rect,ellipse,arrow,number,line,text,mosaic,eraser,|,undo,redo,|,pin,clipboard,save,close"

# Simplified toolbar example
ScreenCapture.exe --tool:"rect,arrow,|,clipboard,save,close"

Usage Examples

# Launch without parameters - shows full screenshot interface
ScreenCapture.exe

# English interface with custom save path
ScreenCapture.exe --lang:en --path:"D:\\screenshots"

# Quick screenshot to clipboard
ScreenCapture.exe --cap:custom,clipboard

# High-quality screenshot save
ScreenCapture.exe --cap:area,0,0,1920,1080 --comp:-1,100 --path:"D:\\screenshot.png"

# Long screenshot with simplified toolbar
ScreenCapture.exe --cap:long --tool:"pin,clipboard,save,close"
  • --cap and --pin parameters are mutually exclusive; other parameters can be combined.
  • Parameters start with --, cannot contain spaces, and are separated by spaces.
  • Use appropriate path separators (\\ or /) based on your terminal when specifying file paths.

Integration

Example for Node.js or Electron (similar for Python):

let spawn = require("child_process").spawn;
let child = spawn("./path/to/ScreenCapture.exe");
child.on("close", (code) => {
    /// Exit codes:
    /// 0: undefined
    /// 1: quit by close button
    /// 2: quit by right mouse button
    /// 3: quit by ESC key
    /// 4: quit when copying RGB color
    /// 5: quit when copying HEX color
    /// 6: quit when copying CMYK color
    /// 7: quit when copying mouse position
    /// 8: quit when saving to file
    /// 9: quit when saving to clipboard
    console.log("Exit code:", code);
});

Supported Operating Systems

  • Windows 10 1607 or Later

Hotkey Setup

Option 1: AutoHotKey

  • Download and install AutoHotKey.
  • Create an .ahk script file in %AppData%/Microsoft/Windows/Start Menu/Programs/Startup directory with the following content:
/*
^  :  Ctrl
!  :  Alt
+  :  Shift
#  :  Win

Example 1: Ctrl+Alt+A 
^!A::Run "path/to/ScreenCapture.exe"

Example 2: Win+Ctrl+Alt+P with long screenshot parameter
#^!P::Run "path/to/ScreenCapture.exe --cap:long"
*/

^!A::Run "path/to/ScreenCapture.exe"
  • Double-click the .ahk file, then you can launch ScreenCapture.exe with Ctrl+Alt+A.
  • This script will auto-start with Windows.

Option 2: SC_Starter

SC_Starter is a ScreenCapture launcher written in Rust.

  • Supports auto-start with Windows
  • Built-in screenshot program, no additional installation required
  • Auto-registers global hotkeys
  • Supports custom default save paths
  • Accidental deletion protection
  • Left-click system tray to screenshot, right-click to exit

Thanks to EV Sign for providing digital signature services

About

A feature-rich screen capture software with just a single executable file

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.