А.С. Цветков. Лекции на ФСПМИ СПбГУ
Расписание Архитектура Администрирование HTML Win API C++ C# и .NET Дипломные работы Об авторе

Программирование под Windows

Интрефейс WinAPI 32

  1. Программная организация Windows: модули KERNEL, USE, GDI. Отличия Windows от DOS. Многозадачность и единый интерфейс. Гибкое управление памятью, использование ресурсов, обмен данными между приложениями.
  2. Инструменты для создания программ в Windows. Borland C++ 5.0, Borland C++ Builder, Borland Delphi, Visual C++. Редакторы ресурсов.
  3. Функция окна приложения. Цикл сообщений. Простейшее приложение под Windows. Сообщения Windows как основной метод передачи информации. Параметры wParam и lParam.
  4. Регистрация класса окна и создание окна: RegisterClass, CreateWindow. Типы окон Windows: перекрывающиеся (OverLapped), дочерние (Child), вспомогательные (PopUp).
  5. Вывод в рабочую область окна. Сообщение WM_PAINT. Обновление изображения.
  6. Введение в GDI: контекст устройства, инструментарий - карандаш, кисть. Отображение линий и дуг. Отображение заполненных фигур. Рисование битовых изображений.
  7. Тексты и шрифты.
  8. Элементы интерфейса Windows: Окно, панель диалога, кнопка, список, строка редактирования, иконка, курсор, графическое изображение.
  9. Клавиатура. Сообщения драйвера клавиатуры. Кодовые таблицы Windows. Мышь. Сообщения мыши.
  10. Управление памятью.
  11. Библиотеки динамической компоновки (DLL).
  12. Создание меню и таблиц акселераторов.
  13. Диалоговые окна. Функция диалогового окна. Типы органов управления. Кнопки. Переключатели и радио-кнопки. Полосы прокрутки. Окна-списки.
  14. Генератор событий (таймер). Другие функции многозадачности.
  15. Средства обмена данными. Буфер обмена, обмен сообщениями, протокол межзадачного обмена.
  16. Динамический обмен данными между приложениями DDE.
  17. Процессы, потоки, синхронизация.
  18. Консольные приложения.
  19. Обмен данными через pipe и mailslot.
  20. Сервисы в Windows NT/2000/XP.
  21. Атрибуты безопасности в Windows NT/2000/XP.

Примеры, используемые на лекциях
  1. Первые программы
    1. Первая программа, оконная функция, обработка WM_PAINT
    2. Работа с меню, создание акселераторов
    3. Вывод растрового изображения, системы координат, скроллинг, диалог FileOpen
  2. Элементы управления
    1. Элементы управления, создаваемые программой; обработка сообщений от элементов управления
    2. Главное окно программы – диалог. Работа с дочерними окнами.
    3. Группирование элементов управления в диалоговые панели и работа с ними
  3. Неоконные приложения Windows
    1. Загрузка DLL
    2. Консольное приложение
    3. Сервисы
    4. Сервисы для VS 2008
  4. Управление памятью
    1. Работа с виртуальной памятью
    2. Работа с кучей
    3. Файлы, отображаемые в память
  5. Процессы, задачи, нити, синхронизация
    1. Запуск процесса
    2. События
    3. Многонитевое приложение
    4. Мьютексы
    5. Многодокументное (MDI) приложение
    6. Многонитевое MDI-приложение
    7. Многонитевое MDI-приложение с семафорами
  6. Обмен данными между задачами
    1. Работа с буфером обмена (Clipboard)
    2. Обмен сообщениями
    3. Передача данных через сообщение WM_COPYDATA
    4. Обмен данными через канал связи (PIPE)
    5. Обмен данными через Mailslot
    6. Обмен данными через DDE
  7. Графический интрефейс
    1. Координатные системы (doc+prog)
    2. Построение фрактала
    3. Работа со шрифтами
    4. Работа с областями (Regions)
    5. Режимы рисования
    6. Проверка монитора (градиент)
  8. Мультимедиа
    1. Проигрывание wav-файла
    2. Использование интерфейса MCI
  9. Дополнительные разделы
    1. Работа с файловой системой (doc)
    2. Работа с реестром
    3. Создание справочной системы в формате hlp
    4. Создание панели инструментов, строки статуса
    5. Просмотр активных окон системы
Материалы практик 2015-2016 года
  1. Первая программа
  2. Заготовка для задачи N тел
Материалы практик 2014-2015 года
  1. «Жизнь» Конвея
  2. Использование Mail Slot
  3. Тест монитора
  4. Физическое моделирование
  5. Четырехмерный куб
Полезные программы и справочные руководства
  1. Итерактивный справочник по функциям и сообщениям WinAPI (258K)
  2. Руководство по программированию в среде Microsoft Windows (340K)
  3. Руководство по программированию в среде Microsoft Windows v. 3.0 (591K)
  4. Школа MFC (1.67M)
  5. Visual C++ для начинающих (472K)
  6. Уроки программирования на Visual C++ с помощью MFC (758K)
  7. Уроки для начинающих (MFC, Visual C++) (783K)
  8. Borland C++ 5.0 – самый простой компилятор, поддерживающий Win32API (67M)
    bc50.rar     bc50.r00     bc50.r01     bc50.r02     bc50.r03     bc50.r04     bc50.r05     bc50.r06    
Программы, иллюстрирующие возможноcти, которыми вы овладеете в процессе обучения
  1. WinSky 1.1 (212K) – планетарий под Windows, автор А.С.Цветков.
  2. OpenGL (366K) – иллюстрированный справочник по OpenGL, написанный одним из студентов.
  3. Common Controls (970K) – иллюстрация общих элементов управления в Windows'95. Автор - студентка факультета С.Смирнова.

Рекомендуемая литература

  1. Литвиненко Н.А. . Технология программирования на C win32 api (2010) Download 13M
  2. А. Побегайло . Системное программирование в Windows Download 13M
  3. Назарр К., Рихтер Дж. Windows via C&C++. Программирование на языке Visual C++ (2009) Download 13M
  4. Ю. Щупак . Win32 API. Эффективная разработка приложений Download 13M
  5. А.В.Фролов, А.Г.Фролов. Операционная система Microsoft Windows 3.1 для программиста, в серии Библиотека системного программиста (БСП) тт. 11-13, Москва, Диалог-МИФИ, 1994 г. Download 517K Download 503K Download 526K
  6. А.В.Фролов, А.Г.Фролов. Графический интерфес в Microsoft Windows, в серии БСП т. 14, Москва, Диалог-МИФИ, 1994 г. Download 691K
  7. А.В.Фролов, А.Г.Фролов. Мультимедиа для Windows, в серии БСП т. 15, Москва, Диалог-МИФИ, 1995 г. Download 1.60M
  8. А.В.Фролов, А.Г.Фролов. Операционная система Microsoft Windows 3.1 - дополнительные главы, в серии БСП т. 17, Москва, Диалог-МИФИ, 1995 г. Download 756K
  9. А.В.Фролов, А.Г.Фролов. Операционная система Windows 95 для программистов, в серии БСП т. 22, Москва, Диалог-МИФИ, 1995 г. Download 626K
  10. А.В.Фролов, А.Г.Фролов. Программирование для Windows NT (в двух частях), в серии БСП тт. 26-27, Москва, Диалог-МИФИ, 1996 г. Download 379K Download 387K
  11. А.В.Фролов, А.Г.Фролов. Microsoft Visual C++ и MFC (в двух частях), в серии БСП тт. 24, 28, Москва, Диалог-МИФИ, 1996 г. Download 409K Download 431K
  12. Н.К.Зыков. Недокументированные возможности Windows 3.0 и 3.1 (справочник для программиста-практика). Москва, Alef Systems, 1993 Download 60K
  13. П.В.Румянцев. Азбука программирования в Win32 API, Москва, Радио и связь, 1999.
  14. С.А.Гладков, Г.В.Фролов. Программирование в Microsoft Windows. (в двух частях), "Диалог МИФИ", 1992.
  15. А.А.Брюзгин. Программный интерфейс для Windows 3.1, Москва, МП Малип, 1994.
  16. Библиотеки и функции Windows 3.1, справочник программиста, Москва, МП Малип, 1993.
  17. Windows 3.0 - справочник для программистов (I-II). "Научный центр", Москва, 1992
  18. Д.А. Сурков, К.А.Сурков, А.Н.Вальвачев. Программирование в среде Borland Pascal для Windows, Вышэйшая школа, 1996.
  19. А.Федоров, Д.Рогаткин. Borland Pascal в среде Windows. Диалектика, Киев, 1993.