Задание
- Написать на С простой текстовый редактор с GUI, используя WinAPI. Помимо очевидного набора и просмотра текста, редактор должен обладать следующими функциями:
- работа с буфером обмена (копировать, вставить, вырезать) c помощью горячих клавиш и контекстного меню;
- сохранение текста в файл и открытие текстовых файлов;
- перечисленные функции должны быть продублированы в главном меню, также в нём должен присутствовать пункт Справка > О программе, отображающий соответствующую информацию.
Разработку вести под Linux c использованием кросс-компилятора mingw-gcc
. Продемонстрировать работу программы в Wine и Windows (можно в виртуальной машине из лабораторной работы №1).
- Написать на C программу c GUI по вашему варианту. Эту программу можно разрабатывать сразу в Windows.
Варианты заданий
- Генератор паролей, использующий мышь и клавиатуру как фактор энтропии.
- Калькулятор с функцией инженерного/программистского/перевода величин (на выбор).
- TODO-лист с уведомлениями и возможностью сохранять и открывать списки дел.
- Программа просмотра изображений.
- Простой файловый менеджер (просмотр содержимого папок, переименовывание, копирование, вставка, удаление файлов)
- Получение информации об аппаратном обеспечении, сохранение отчёта.
- Программа для рисования с возможностью сохранения изображений.
- Секундомер + таймер/помодоро таймер. Уведомление должно сворачивать все окна, кроме своего, а также проигрывать звук, либо менять фон рабочего стола.
- Программа создания скриншотов с возможностью создания серий скриншотов через заданный промежуток времени.
- Симулятор питомца с уведомлениями.
- Логгер активности. Приложение должно отслеживать какие окна в системе и сколько времени были активными, с возможностью сохранения логов.
- Клавиатурный тренажёр для одного языка(раскладки) с возможностью загрузки текста.
Пример
Чтобы хоть как-то облегчить вашу нелёгкую жизнь, вот простой пример и makefile к нему.
Откомпилировав и запустив данную программу с помощью make
, получим такой результат:

И она же под Wine:

Примечание: если нужно создать приложение для 32 разрядной Windows, используйте
i686-w64-mingw32-gcc
.
Почитать
- theForger’s Win32 API Tutorial
- Чарльз Петцольд. Программирование для Windows 95
- Джеффри Рихтер, Кристоф Назар. Windows via C/C++
Необходимые пакеты
Debian-based
- make
- mingw-w64
- wine
Arch-based
- make
- mingw-w64
- wine
- wine-mono