Мои лабораторные работы для BSUIR/БГУИР (белорусский государственный университет информатики и радиоэлектроники).
Предмет - SP/СП (системное программирование).
Тема - "Устройство для записи звука". Запись звука идёт через WinAPI, работа с ним ведётся на языке Kotlin с технологией компиляции Native.
Изучение событийной архитектуры Windows-приложений, механизмы обработки сообщений, механизмы перерисовки окна.
- Разработать программу, позволяющую передвигать с помощью клавиатуры и мыши спрайт (или геометрическую фигуру) внутри рабочей области окна.
- Обеспечить работу колёсика мыши (движение по вертикали, если shift – по горизонтали).
- Придать спрайту движение с отскоком от границ окна.
- Задействовать хотя бы одну горячую клавишу (ctrl + ) с использованием таблиц акселерации.
Изучение вывода текста и шрифтов.
- Разработать программу, которая вписывает в окно текстовую таблицу N строк на M столбцов таким образом, что все столбцы таблицы равномерно распределяются по ширине окна, а высота строк таблицы подбирается таким образом, чтобы вместить текст каждой ячейки.
- При изменении размеров окна таблица пересчитывается и перерисовывается.
- Вписать текст в окружность так, чтобы он выглядел, как на печати.
Изучение создания использования динамических загружаемых библиотек DLL.
- Разработать программу, которая выполняет Runtime импорт DLL и вызывает её функцию.
- Разработать программу, которая выполняет Loadtime импорт DLL и вызывает её функцию.
- Разработать DLL с функцией поиска заданной строки по всей виртуальной памяти и замены этой строки на другую.
- Разработать программу, которая внедряет DLL в заданный процесс и вызывает её функцию.
Изучение работы с реестром. Разработать программу, которая демонстрирует следующий функционал:
- Создание ключа, открытие ключа, закрытие ключа, удаление ключа, замена содержимого ключа.
- Вывод флагов ключа.
- Отслеживание изменения ключа.