我用纯 C 语言构建了一个原生 Windows Todo 应用 (278 KB, 无框架)
该项目是一个使用纯 C 语言和 Win32 API 构建的轻量级原生 Windows Todo 应用。它实现了创建、编辑、删除、标记完成等基本功能,并支持系统托盘集成和数据持久化存储。项目代码开源,基于 MIT 许可证,提供了构建和使用方法,以及项目结构和开发技术细节。
Efeckc17 / simple-todo-c
一个轻量级的原生 Windows Todo 应用程序,使用纯 C 语言和 Win32 API 构建。
许可协议
51 stars 1 fork Branches Tags Activity
🌟 Simple Todo (C / WinAPI)
一个现代的、原生的 Windows Todo 应用程序,使用 C 语言和 Win32 API 构建。本项目演示了高级的 Windows GUI 编程和系统集成能力。
✨ 功能特性
- 📝 创建、编辑和删除 Todo 项
- ✅ 将任务标记为完成
- 💾 在 AppData 中持久化存储
- 🔔 系统托盘集成(最小化到托盘)
- 🌙 原生 Windows 外观和感觉
🛠️ 技术细节
- 使用纯 C 语言编写
- 使用 Win32 API 实现 GUI
- 系统托盘集成
💾 数据存储
应用程序将 Todos 存储在二进制文件中:
- 位置:
%APPDATA%\TodoApp\todos.dat
- 格式:包含整个 Todo 列表的二进制文件
- 容量:最多 100 个 Todos
📋 要求
- Windows 操作系统
- MinGW-w64 (GCC 编译器)
- Windows SDK(包含在 MinGW 中)
🚀 从源码构建
- 安装 MinGW-w64:
- 从 MinGW-w64 website 下载
- 或使用 MSYS2
- 将 MinGW 的 bin 目录添加到系统 PATH
- 克隆仓库:
git clone https://github.com/Efeckc17/simple-todo-c.git
cd simple-todo-c
- 构建项目:
.\build.bat
🎮 使用方法
- 运行
bin/todo.exe
- 使用界面进行以下操作:
- 使用 "Add" 按钮添加新的 Todos
- 选择并点击 "Edit" 编辑现有的 Todos
- 使用 "Delete" 按钮删除 Todos
- 使用 "Complete" 按钮将 Todos 标记为完成
- 为每个 Todo 设置优先级
🏗️ 项目结构
.
├── src/
│ ├── main.c # 应用程序入口点
│ ├── todo.c # Todo 管理逻辑
│ ├── todo.h # Todo 数据结构和声明
│ └── gui.c # GUI 实现
├── bin/ # 编译后的可执行文件
├── build.bat # 构建脚本
└── README.md # 本文件
🔧 开发
该项目使用以下关键组件:
- Win32 API: 用于窗口管理和 GUI
- Common Controls: 用于现代 UI 元素
- UXTheme: 用于 Windows 视觉样式
- File I/O: 用于数据持久化
📝 许可协议
本项目基于 MIT 许可证发布 - 详见 LICENSE 文件。
🤝 贡献
欢迎贡献! 请随时提交 Pull Request。
📫 联系方式
Toxi360 - @Efeckc17