Skip to content

icescat/shutdown_cat

Repository files navigation

关机猫 by.52pojie 🐱

一个简单好用的Windows定时关机程序,支持两种关机方式,带有酷炫的桌面倒计时显示和便捷的数值输入功能!

项目结构 📁

shutdown/
├── shutdown_cat.c           # 主程序源代码
├── shutdown_cat.exe         # 最新优化版本(126KB)
├── resource.h               # 资源头文件定义
├── resource.rc              # 资源配置文件
├── resource.o               # 编译后的资源文件
├── cat_icon.ico             # 应用程序图标(256x256)
├── cat_tray.ico             # 系统托盘图标(32x32&16x16)
├── build_with_icon.bat      # 带图标编译脚本(推荐)
├── Makefile                 # Make构建文件
└── README.md               # 项目说明文档

核心文件说明

🔧 源代码文件

  • shutdown_cat.c - 主程序源代码,包含所有功能实现
  • resource.h - 资源ID定义,图标和控件标识符
  • resource.rc - Windows资源文件,定义图标资源

📦 可执行文件

  • shutdown_cat.exe - 最新版本,126KB优化版本,功能完整且体积精简

🎨 图标资源

  • cat_icon.ico - 单一尺寸(256x256)用作应用程序主图标
  • cat_tray.ico - 多尺寸(32x32&16x16)用作系统托盘图标和程序窗口左上角图标

🛠️ 构建系统

  • build_with_icon.bat - 推荐编译脚本,自动检测图标并编译
  • Makefile - Make构建配置

功能特色 ✨

🎯 两种关机方式

  • 定时关机:设定具体时间点关机(比如晚上11点30分)
  • 倒计时关机:设定多少小时后关机(比如2小时后)

🖥️ 桌面倒计时显示

  • 开始倒计时后,桌面右下角会出现一个半透明的倒计时窗口
  • 实时显示剩余时间,一目了然
  • 可以用鼠标拖拽到任意位置
  • 始终置顶显示,不会被其他窗口遮挡
  • 右键点击可以取消关机或退出程序

📱 系统托盘支持

  • 程序可以最小化到系统托盘
  • 托盘图标右键菜单可以快速操作
  • 鼠标悬停托盘图标显示倒计时信息

🎲 新增:便捷数值输入

  • 鼠标滚轮调节:鼠标悬停在数值输入框上,滚动滚轮即可增减数值
  • 上下箭头按钮:每个输入框右侧都有精美的上下箭头,点击可调节数值
  • 智能范围限制:自动限制在有效范围内(小时0-23,分钟0-59)
  • 完美对齐布局:所有输入框大小统一,垂直完美对齐

使用方法 📖

1. 定时关机

  1. 选择"定时关机"选项
  2. 设置关机时间(24小时制,比如22:30)
    • 可直接输入数字
    • 可点击箭头按钮调节
    • 可用鼠标滚轮调节
  3. 点击"开始定时"按钮
  4. 桌面会出现倒计时窗口显示剩余时间

2. 倒计时关机

  1. 选择"倒计时关机"选项
  2. 设置小时数和分钟数(比如1小时30分钟)
    • 支持多种输入方式:键盘、箭头、滚轮
  3. 点击"开始定时"按钮
  4. 桌面会出现倒计时窗口显示剩余时间

3. 取消关机

  • 点击主界面的"取消关机"按钮
  • 或者右键桌面倒计时窗口,选择"取消关机"
  • 或者右键托盘图标,选择"取消关机"

数值输入技巧 🎯

🖱️ 鼠标滚轮

  • 将鼠标悬停在任意数值输入框上
  • 向上滚动:数值+1
  • 向下滚动:数值-1
  • 自动遵循数值范围限制

⬆️⬇️ 箭头按钮

  • 点击输入框右侧的上箭头:数值+1
  • 点击输入框右侧的下箭头:数值-1
  • 精致小巧的设计,不占用过多界面空间

⌨️ 键盘输入

  • 依然支持传统的直接键盘输入
  • 只能输入数字,其他字符自动过滤

桌面倒计时窗口操作 🖱️

  • 拖拽:鼠标左键按住可以拖动窗口位置
  • 右键菜单
    • 打开主界面
    • 取消关机
    • 退出程序

编译和运行 🔧

方法一:直接运行(推荐)

下载 shutdown_cat.exe 文件(126KB最新版),双击运行即可。

方法二:使用编译脚本

# 推荐:使用带图标的编译脚本
build_with_icon.bat

方法三:手动编译

# 第一步:编译资源文件
windres resource.rc -o resource.o

# 第二步:编译程序(优化版本)
gcc -o shutdown_cat.exe shutdown_cat.c resource.o -lcomctl32 -luxtheme -lshell32 -mwindows -municode -Os -s

# 调试版本(包含调试信息)
gcc -o shutdown_cat_debug.exe shutdown_cat.c resource.o -lcomctl32 -luxtheme -lshell32 -mwindows -municode -g

方法四:使用Makefile

# 编译优化版本
make

# 编译调试版本
make debug

# 清理编译文件
make clean

# 查看所有选项
make help

图标系统 🎨

图标配置

  • 应用程序图标cat_icon.ico (256x256),显示在桌面快捷方式
  • 托盘图标cat_tray.ico (16x16),显示在系统托盘、任务栏以及程序标题栏

技术特性 💻

优化亮点

  • 精简体积:最新版本仅126KB,代码高效精简
  • 内存安全:自动管理GDI资源,防止内存泄漏
  • 稳定性增强:关键操作错误处理,输入验证
  • 性能优化:编译器优化参数 -Os -s
  • 现代控件:集成Windows标准UpDown控件
  • 交互优化:多种数值输入方式,提升用户体验

兼容性

  • 系统要求:Windows 7 及以上版本
  • 权限要求:需要管理员权限(用于执行关机命令)
  • 编译环境:MinGW-w64 或 Visual Studio

注意事项 ⚠️

  1. 权限要求:程序需要管理员权限才能执行关机命令
  2. 关机提醒:Windows会在关机前显示倒计时提醒,给你最后的机会取消
  3. 安全提示:程序会调用Windows系统的shutdown命令,完全安全
  4. 桌面倒计时:倒计时窗口会自动置顶显示,不用担心被遮挡

界面预览 🖼️

程序采用现代化的Windows界面设计:

  • 简洁明了的操作界面
  • 实时显示当前倒计时状态
  • 半透明桌面倒计时窗口
  • 支持系统托盘最小化
  • 精美的数值输入控件:统一大小,完美对齐
  • 便捷的交互方式:滚轮、箭头、键盘三种输入方式

常见问题 ❓

Q: 推荐使用哪个版本? A: 推荐使用最新的 shutdown_cat.exe(126KB),功能最全且体积精简。

Q: 桌面倒计时窗口能关闭吗? A: 可以,右键点击选择相应选项,或者取消关机后会自动消失。

Q: 程序会开机自启动吗? A: 不会,程序不会自动添加到开机启动项。

Q: 关机前还有提示吗? A: 有的,Windows系统会在最后60秒显示关机倒计时提示框。

Q: 可以设置多长时间的倒计时? A: 建议不要超过24小时,程序会自动验证输入范围。

Q: 数值输入框的箭头按钮可以关闭吗? A: 箭头按钮是Windows标准控件,无法单独关闭,但设计精致不会影响美观。

开发说明 👨‍💻

项目亮点

  • 极致优化:在保持功能完整的前提下,实现体积控制
  • 稳定可靠:修复所有潜在的内存泄漏和错误处理
  • 用户体验:现代化界面设计,直观的操作逻辑
  • 技术创新:桌面置顶倒计时显示,支持拖拽和右键菜单
  • 交互升级:多种数值输入方式,满足不同用户习惯

编译优化技术

  • 使用 -Os 参数进行大小优化
  • 使用 -s 参数移除调试符号
  • 动态资源管理,按需创建和释放
  • 代码结构优化,减少冗余
  • 精简注释和变量名

更新日志 📝

v2.1 交互优化版本

  • 新增功能:鼠标滚轮调节数值
  • 新增功能:UpDown箭头按钮
  • 界面优化:输入框大小统一,完美对齐
  • 代码精简:减少体积,提升效率
  • 窗体标题:更新为"关机猫 by.52pojie"
  • 交互体验:三种数值输入方式(键盘+滚轮+箭头)

v2.0 优化版本

  • 体积优化:优化版本,代码精简高效
  • 稳定性增强:修复内存泄漏,增加错误处理
  • 图标系统:完整的双图标配置(应用+托盘)
  • 编译系统:智能化编译脚本,自动检测配置
  • 文件统一:项目文件名与项目名保持一致

v1.0 基础版本

  • ✅ 新增桌面置顶倒计时显示
  • ✅ 支持拖拽调整倒计时窗口位置
  • ✅ 半透明背景,不遮挡桌面内容
  • ✅ 优化置顶逻辑,不干扰右键菜单
  • ✅ 改进用户体验和界面美观度
  • ✅ 基础定时关机功能
  • ✅ 系统托盘支持
  • ✅ 现代化界面设计

开源协议 📄

本项目采用MIT开源协议,可以自由使用、修改和分发。


💡 小贴士:试试用鼠标滚轮调节数值,超级方便! 🎯 推荐版本:使用最新的 shutdown_cat.exe(126KB)获得最佳体验! 🎨 界面特色:完美对齐的输入框,强迫症患者的福音!

About

关机猫——一款超轻量win定时关键软件

Resources

Stars

Watchers

Forks

Packages

No packages published