순수 C로 네이티브 Windows Todo 앱 제작 (278 KB, 프레임워크 미사용)

1 week ago 8

  • 이 오픈 소스 프로젝트는 C와 Win32 API만으로 제작된 경량 네이티브 Windows Todo 애플리케이션임
  • 프레임워크에 의존하지 않고 최소 용량(최대 26.5KB)으로 동작하며, 고급 Windows GUI와 시스템 통합을 직접 구현함
  • Todo 항목 추가, 수정, 삭제, 완료 표시 등 기본 기능뿐만 아니라 시스템 트레이 통합 및 자동 시작 옵션 등 실제 생산성 기능을 제공함
  • 저장소는 이진 파일로 영구적이며, AppData 폴더에 최대 100개의 할 일 목록을 저장함
  • 대형 프레임워크 없이 OS에 매우 밀착된 고전적인 방식의 프로그래밍과 가벼운 실행 환경이 강점임

🌟 Simple Todo (C / WinAPI)

프로젝트 개요

  • 이 프로젝트는 C와 Win32 API만을 이용해 현대적인 네이티브 Windows Todo 앱을 만들음
  • 고급 Windows GUI 프로그래밍 및 시스템 통합능력을 선보임
  • 프로젝트 용량이 매우 작으며(최대 26.5KB), Windows 고유의 외관을 그대로 유지함

✨ 주요 기능

  • 할 일 항목 생성, 편집, 삭제 가능함
  • 작업을 완료 처리할 수 있음
  • AppData에 영구 저장되어 항상 데이터가 보존됨
  • 시스템 트레이와 통합되어 최소화 시 트레이로 이동함
  • 네이티브 Windows 스타일의 외관을 지님
  • Windows 시작 시 자동 실행 옵션이 제공됨

🛠️ 기술적 세부사항

  • 전부 순수 C로 코딩됨
  • GUI 구현에 Win32 API만 사용함
  • Tiny 실행 파일 크기(UPX 압축 시 26.5KB)
  • 시스템 트레이 통합 기능
  • 매니페스트를 통한 모던 비주얼 스타일 적용

💾 데이터 저장

  • 모든 할 일은 이진 파일 하나에 저장됨
  • 저장 경로: %APPDATA%\TodoApp\todos.dat
  • 이진 포맷이며 최대 100개 항목 저장 가능함

📋 필수 요구사항

  • Windows 운영체제 환경 필요함
  • MinGW-w64 (GCC 컴파일러) 및 Windows SDK 필요함

🎮 사용 방법

  • bin/todo.exe 실행 후 인터페이스를 이용해 다음 동작 가능함
  • "Add" 버튼으로 새 할 일 추가
  • 항목 선택 후 "Edit" 클릭하여 수정
  • "Delete"로 항목 삭제
  • "Complete"로 완료 처리
  • 각 항목 우선순위 지정 가능함

🏗️ 프로젝트 구조

  • src/ 폴더에 메인 진입점(main.c), 할 일 관리 로직(todo.c), 구조체 선언(todo.h), GUI 구현(gui.c) 존재함
  • bin/에 컴파일된 실행 파일 배치됨
  • 빌드 스크립트(build.bat)와 프로젝트 문서 포함함

🔧 개발 요소

  • Win32 API: 창 관리 및 GUI 전반 구현
  • Common Controls: 현대식 UI 요소 사용
  • UXTheme: Windows 비주얼 스타일 적용 지원
  • File I/O: 데이터 영구 저장 실현

📝 라이선스

  • MIT 라이선스로 자유롭게 사용 및 수정 가능함

🤝 기여 안내

  • Pull Request 환영
  • 누구나 프로젝트에 참여 가능함

📫 연락처 및 링크

Read Entire Article