๐ Simple Todo (C / WinAPI)
Payments
If you're building projects in regions where services like PayPal or Stripe are restricted, I built a separate solution:
PayCow โ accept payments using ERC-20 (TRC-20 soon), without relying on traditional platforms.
https://github.com/Efeckc17/Paycow-Introduction
A modern :) , native Windows Todo application built with C and Win32 API. This project demonstrates advanced Windows GUI programming and system integration capabilities.

โจ Features
- ๐ Create, edit, and delete todo items
- โ Mark tasks as complete
- ๐พ Persistent storage in AppData
- ๐ System tray integration (minimize to tray)
- ๐ Native Windows look and feel
- ๐ Auto-start with Windows option
- ๐ Real-time search functionality with case-insensitive matching
๐ ๏ธ Technical Details
- Written in pure C
- Uses Win32 API for GUI
- System tray integration
- Lightweight native executable
- Modern Windows visual styles with manifest
๐ Debugging
Check out our debugging guide for instructions on how to debug this application using Visual Studio, VS Code, or other tools.
๐พ Data Storage
The application stores todos in a binary file:
- Location:
%APPDATA%\TodoApp\todos.dat - Format: Binary file containing the entire todo list
- Capacity: Maximum 100 todos
๐ Requirements
- Windows OS
- MinGW-w64 (GCC compiler)
- Windows SDK (included with MinGW)
๐ Building from Source
-
Install MinGW-w64:
- Download from MinGW-w64 website
- Or use MSYS2
- Add MinGW's bin directory to your system PATH
-
Clone the repository:
git clone https://github.com/Efeckc17/simple-todo-c.git cd simple-todo-c -
Build the project:
.\build.bat
๐ฎ Usage
- Run
bin/todo.exe - Use the interface to:
- Add new todos with the "Add" button
- Edit existing todos by selecting and clicking "Edit"
- Delete todos with the "Delete" button
- Mark todos as complete with the "Complete" button
- Set priority levels for each todo
๐๏ธ Project Structure
.
โโโ src/
โ โโโ app.manifest
โ โโโ main.c # Application entry point
โ โโโ todo.c # Todo management logic
โ โโโ todo.h # Todo data structures and declarations
โ โโโ gui.c # GUI implementation
โ โโโ utils/
โ โโโ search.c # Search functionality implementation
โ โโโ search.h # Search function declarations
โโโ bin/ # Compiled executable
โโโ build.bat # Build script
โโโ README.md # This file
๐ง Development
The project uses the following key components:
- Win32 API: For window management and GUI
- Common Controls: For modern UI elements
- UXTheme: For Windows visual styles
- File I/O: For data persistence
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ซ Contact
Toxi360 - @Efeckc17
Project Link: https://github.com/Efeckc17/simple-todo-c