【无用软件】sc_starter,ScreenCapture的快捷键增强

Github链接:

目的

众所周知,ScreenCapture 是一个极其比较轻量的windows截屏软件,但是,有一个极大的问题就是不支持快捷键……

所以我就写了个小玩意改进了一下软件体验

功能说明 / Features

本软件是 ScreenCapture 的启动器,提供以下功能:

  • 内置截图程序,无需额外安装
  • 自动注册全局快捷键
  • 支持自定义保存路径
  • 支持以时间戳命名
  • 文件防删除保护
  • 托盘左键单击截图,右键退出
  • 自启动设置

使用方法 / Usage

  1. 默认快捷键 / Default Hotkeys:

    功能 / Function 快捷键 / Hotkey 说明 / Description
    普通截图 / Screenshot Ctrl+Win+Alt+P 矩形区域截图 / Rectangular area capture
    长截图 / Long Screenshot Ctrl+Win+Alt+L 滚动截图 / Scrolling capture
    钉图 / Pin Image Ctrl+Win+Alt+T 将剪贴板图片钉到屏幕 / Pin clipboard image to screen
    启动应用 / Launch App Ctrl+Win+Alt+A 启动配置的外部应用程序 / Launch configured application
    打开配置 / Open Config Ctrl+Win+Alt+O 打开配置文件编辑 / Open config file for editing
    退出程序 / Exit Win+Ctrl+Shift+Esc 完全退出程序 / Exit application completely
  2. 自定义设置 / Custom Settings:

    • 使用 Ctrl+Win+Alt+O 打开配置文件
    • 修改后保存并关闭文件
    • 使用 Win+Ctrl+Shift+Esc 退出程序
    • 重新启动程序应用新配置

配置说明 / Configuration

# 设置文件使用说明 / Configuration File Instructions:
#
# ①程序启动时会自动处理配置文件
# ①The program will automatically process the configuration file when starting
#   - 如果文件不存在,会创建默认配置
#   - If the file does not exist, default settings will be created
#   - 如果某项配置缺失,会自动补充默认值
#   - If any setting is missing, default values will be added
#
# ②配置更改后需要重启程序才能生效
# ②Program restart is required after configuration changes
#   - 使用快捷键 Win+Ctrl+Shift+Esc 退出程序
#   - Use Win+Ctrl+Shift+Esc to exit the program
#   - 重新启动程序加载新配置
#   - Restart the program to load new settings

[hotkey]
# 快捷键配置说明 / Hotkey Configuration:
# 1. 格式:控制键+控制键+...@实际键
# 1. Format: Modifier+Modifier+...@Key
# 2. 至少需要两个控制键,避免冲突
# 2. At least two modifiers required to avoid conflicts
# 3. 支持的控制键 / Supported modifiers:
#    - WIN/WINDOWS/SUPER
#    - CTRL/CONTROL
#    - ALT
#    - SHIFT
# 4. 支持的实际键 / Supported keys:
#    - A-Z:字母键 / Letters
#    - 0-9:数字键 / Numbers
#    - VK_系列:特殊键 / Special keys

# 控制截屏 / Screen capture
screen_capture = "Ctrl+Win+Alt@P"

# 控制截长屏 / Screen capture long
screen_capture_long = "Ctrl+Win+Alt@L"

# 将剪贴板中的图像钉到屏幕 / Pin clipboard image to screen
pin_to_screen = "Ctrl+Win+Alt@T"

# 退出软件 / Exit application
exit = "Win+Ctrl+Shift@VK_ESCAPE"

# 打开配置文件 / Open configuration file
open_conf = "Ctrl+Win+Alt@O"

# 调用其它软件 / Launch other application
# 该软件将自动置顶 / The application will be set to topmost
# 软件路径在下方的 path 配置类别中指定
launch_app = "Ctrl+Win+Alt@A"

[path]
# 设置图片的自动保存位置,可选以下几种:
# Configure automatic save location for images, options:
# &         -> 截图时手动选定(默认)/ Manual selection when capturing (default)
# @         -> 桌面 / Desktop
# *         -> 图片文件夹 / Pictures folder
# D:/test   -> 其他指定文件夹(支持目录中含有中文及空格,路径必须存在)
#              Other specified folder (supports Chinese and spaces in path, must exist)
# ⚠️警告/Warning⚠️
# 路径必须使用斜杠『/』或双反斜杠『\\』
# Path must use slashes "/" or double backslashes "\\"
dir = "&"

# 需要启动的程序路径,要求同上
# Process path you want to launch
launch_app_path = "C:/Windows/System32/notepad.exe"
# 启动参数,可以置空
# 使用 Tab(打不出来可以复制这个<	>)间隔每个参数
# Process Args, blank is allowed
# Use Tab to separate each argument (it may not be typed, you can copy this <	>)
launch_app_args = ""

[sundry]
# 设置是否开机自启
# Configure whether to start automatically at boot
# true->启用, false->禁用
startup = false

# 图像压缩与缩放比例
# Image compression and scaling ratio settings
# 压缩等级:0-10(清晰->模糊),-1代表默认
# 缩放:1%-100%,(模糊->清晰)
# Compression level: 0-10 (clear->blur), -1 for default
# Scale: 1%-100% (blur->clear)
comp_level = -1
scale_ratio = 100

[gui]
# GUI配置,默认全部启用
# rect:方框
# ellipse:椭圆
# arrow:箭头
# number:标号
# line:直线
# text:文本
# mosaic:马赛克
# eraser:橡皮擦
# undo/redo:撤销/重做
# pin:钉图
# clipboard:保存到剪贴板
# save:保存
# close:关闭
gui_config = "rect,ellipse,arrow,number,line,text,mosaic,eraser,|,undo,redo,|,pin,clipboard,save,close"
# 参数只少不多
# Only fewer parameters are allowed
long_gui_config = "pin,clipboard,save,close"

我是用ahk启动这个软件,代替微信和qq的截图

就我所知, 这个软件3.8MB.

能算得上极其轻量的截图软件, 应该是 xsnip. 只有421kb, 支持快捷键,支持钉图.支持标注图片.

强大的截图

  • 窗口区域自动检测

  • 像素级的鼠标移动控制、截图范围控制

  • 取色器 (放大镜模式下 R, H)

  • 多屏支持

  • 高分屏支持

  • 全面Windows系统支持

  • 多种图片格式支持PNG, JPG, BMP

  • 丰富的画图工具

    • 矩形
    • 椭圆
    • 箭头
    • 铅笔
    • 文字
  • 高级标注工具

    • 马赛克
  • 撤销

这种 exe 文件体积比较没什么意义,一个 3.8MB 运行后占用 3.8MB 内存,或者一个 42KB 运行后占用 42MB,都有可能。
你列出的"强大的截图"是认真的?基础地不能再基础,连撤销都算了进来。而且好像是闭源的,更没吸引力。

话说 ScreenCapture 不是在文档里提供了使用 AutoHotkey 附加热键的方法了吗?你的方法比 AutoHotkey 更好用吗?

嗯, 我并不是想宣传 xsnip . 毕竟 pixpin 更香, 虽然尺寸会大很多.

只是没有get 到 ScreenCapture 的优势在哪?

ahk在涉及部分快捷键比如alt、win键时可能会“导致额外的击键”——但是我这玩意没有这个问题。(ahk问题的来源与说明见此:热键 - 定义 & 使用 | AutoHotkey v2

如果直接用ahk脚本,那必须得加个ahk程序;而如果包装为exe可执行文件,那又不是很方便通过配置文件等方式自定义按键

如果你给不懂电脑的朋友介绍screencaptue的使用,你需要先装ahk,再写ahk,再下载程序,还得教他怎么修改快捷键……

我这玩意直接集成了,省去了反复安装的功夫

开源。部分可能接触到保密的企业里面,如果是开源软件,申请完了层层审核以后还勉强能用,闭源软件想都别想

此外,您说的功能screencapture都有,但是本次我发帖的重点是sc_starter,是启动器,而非原程序。因此我只是说了启动器的优点,原程序有什么优点不在考虑范围内

更新至1.5版本,主要增加了防多开设置

更新至1.6版本,修正了一个潜在的bug

1.8.0已发布,大幅更新程序判断逻辑

更新1.9.0,更新了默认快捷键避免与Win11冲突以及注册快捷键失败时的动作

确实如此,但是有个小问题,不开源……有个同名的 xsnip 开源,但是我确认了一下,和你说的那个 http://xsnip.cn 不是一个软件,只是名字相同而已。

而我写这个软件最大的需求来源其实是开源来着……详情需求参照下文,而ScreenCapture确实是我能找到的最小且功能齐全的开源截屏软件了……

更新日志

  1. 更新了action的文件
  2. 更新了依赖
  3. 更换配置文件更改
    • 更换配置文件为ini格式
    • 更改了配置文件的读取办法
    • 配置文件缺失项自动补全(缺点不少,以后大概会改)
    • 配置文件缺失项自动调用默认配置
  4. 更新了readme
  5. 增加任务栏托盘
    • 增加了托盘图标
    • 托盘左键截图,右键退出,双击也是截图
  6. 程序拆分为多个模块,使其更易于维护
  7. 增加了自动以时间戳保存文件的选项,详情见配置文件
    (感谢 @xland 的命令行支持,毕竟我就是一个套壳的 ◐▽◑ )
  8. 增加了超多注释
  9. 现在程序可以自行设置自动启动与否
  10. 更新ScreenCapture.exe到v2.2.13
  11. 增加了一大堆错误处理逻辑
  12. 搞了搞多线程,虽然纯屎,但是好歹能跑
  13. 事件循环(EventLoop)也是屎
  14. 改了一堆结构和impl,现在输出的东西好看点了(还是纯屎)
  15. 依赖纯屎,得想办法再减少一些体积,下次可能会上个upx

2.8.2 增加了一堆设置,改进了软件逻辑