Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI.docx
Скачиваний:
49
Добавлен:
16.12.2018
Размер:
3.43 Mб
Скачать

Глава 1 Введение

Этот курс для тех, кто будучи искусным программистом языка С, хотел бы научиться писать приложения для операционной системы Microsoft Windows. Близкое знакомство с языком С является первым из трех необходимых условий освоения данного курса. Вторым условием является наличие 32-разрядной системы программирования для С++. И третье — реальное использование операционной системы Windows и умение работать с ее пользовательским интерфейсом.

Как вы вероятно знаете, Windows — это графическая операционная система, впервые представленная в ноябре 1985 года для использования на компьютерах типа IBM PC и совместимых с ним. По мере проникновения на рынок Windows почти полностью вытеснила всех имевшихся конкурентов и стала, фактически, эталоном операционной системы для персональных компьютеров. Теперь, если вы пишете программу для совместимых с IBM PC компьютеров, то вы пишете для Windows.

    1. Основные правила

В этом курсе мы хотели бы научить вас тому, что считается классическим программированием для Windows. Мы возьмем добрый старый язык программирования С (а не С++) и напрямую используем базовый интерфейс программирования приложений, а не какую бы то ни было другую оболочку, скрывающую под упрощенным, на первый взгляд, интерфейсом все тот же API.

В определенном смысле эта книга описывает тяжелый путь создания программ для Windows, но вместе с тем это базовый, наиболее фундаментальный, гибкий и мощный путь. Используя другие подходы в программировании для Windows, вы не сможете реально добиться большего. Кроме того, изучая классическое программирование для Windows, использующее С и базовый API, вы сможете более отчетливо представить, как действуют Windows и ее приложения, и это знание может оказаться весьма полезным. Такой подход даст вам крепкий фундамент, о котором вы никогда не пожалеете. Поверьте.

1.2 Краткая история Windows

Вскоре после появления в середине 1981 года IBM PC стало очевидно, что господствующей операционной системой для PC (включая совместимые) должна стать MS-DOS, что означает Microsoft Disk Operating System.

Ранние версии MS-DOS обеспечивали для пользователя интерфейс командной строки, отображая такие команды как DIR и TYPE, которые могли загружать выполняемые программы в оперативную память и предлагали для этих программ определенный интерфейс для доступа к файлам, считывания информации с клавиатуры, и отображения на принтере и на экране дисплея (только в символьном режиме).

Из-за ограниченных возможностей программного и аппаратного обеспечения, графическая среда пробивала себе дорогу медленно. Компьютеры Apple показали возможную альтернативу, когда в январе 1983 года была создана скандально известная Lisa, и затем в январе 1984 года Apple, разработав Macintosh, создала образцовую графическую среду, которая (несмотря на постепенную утрату этой моделью компьютера своих позиций на рынке) все еще рассматривается как эталон, по которому равняются создатели любой другой графической оболочки.

О работе над Windows корпорация Microsoft заявила в ноябре 1983 года (позже, чем появилась Lisa, но раньше, чем Macintosh) и реализовала ее двумя годами позже, в ноябре 1985 года. В течение двух следующих лет, Microsoft Windows версии 1.0 претерпела несколько модернизаций, необходимых для удовлетворения требований международного рынка. Кроме этого появились дополнительные драйверы для новых дисплеев и принтеров.

Windows версии 2.0 была создана в ноябре 1987 года. Эта версия содержала несколько изменений пользовательского интерфейса. Наиболее важное из этих изменений касалось использования перекрывающихся окон, вместо окон, расположенных рядом, что было характерно для Windows версии 1.x. Windows версии 2.0 содержала также улучшенный интерфейс клавиатуры и манипулятора мышь, а также, отчасти, окон меню и диалога.

В то время для Windows требовались только процессоры Intel 8086 или 8088, работающие в реальном режиме, при этом доступ осуществлялся к 1 мегабайту оперативной памяти. Windows/386 (созданная вскоре после Windows 2.0) использовала виртуальный режим процессора Intel 80386 для запуска нескольких одновременно работающих с оборудованием программ MS-DOS в окнах. Для симметрии Windows версии 2.1 назвали Windows/286.

Windows версии 3.0 появилась 22 марта 1992 года. Здесь были объединены ранние версии Windows/286 и Windows/386. Главным изменением в Windows 3.0 была поддержка защищенного режима процессоров Intel 80286, 80386 и 80486. Это позволило Windows и ее приложениям получить доступ к 16 мегабайтам оперативной памяти. "Оболочка" программ Windows для запуска программ и поддержки файлов была полностью переделана. Windows 3.0 — это первая версия Windows, которая стала "родной" для множества пользовательских машин в домах и офисах.

Windows версии 3.1 появилась в апреле 1992 года. Сюда были включены такие важные свойства, как технология TrueType для шрифтов (что дало возможность масштабировать шрифты для Windows), multimedia (звук и музыка), OLE и диалоговые окна общего пользования. Кроме этого Windows 3.1 работала только в защищенном режиме и требовала процессора 80286 или 80386 и, по крайней мере, одного мегабайта оперативной памяти.

Windows NT, появившаяся в июле 1993 года, стала первой версией Windows, поддерживающей 32-разрядную модель программирования для процессоров Intel 80386 и 80486, а также Pentium. Windows NT имеет сплошное плоское (flat) 32-разрядное адресное пространство и 32-разрядные целые. Кроме этого Windows NT переносима и работает на нескольких моделях рабочих станций, основанных на RISC-технологии.

Windows 95 (первоначально условно названная Chicago, а иногда упоминающаяся и как Windows версии 4.0) появилась в августе 1995 года. Также как Windows NT, Windows 95 поддерживает 32-разрядную модель программирования (требуя, таким образом, для себя процессор 80386 и выше). Хотя у Windows 95 и нет некоторых возможностей Windows NT, таких как высокая степень безопасности и переносимость для работы с машинами, созданными по RISC-технологии; тем не менее она способна работать на компьютерах, имеющих всего 4 мегабайта оперативной памяти.

Считалось, что и Windows NT и Windows 95 поддерживают API Win32. Однако, у каждой из этих операционных систем имеются некоторые черты, которых нет у другой. Тем не менее общего у них гораздо больше, что позволяло писать программы, работающие в обеих системах. Начиная с Windows 2000 эти системы объединились.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]