П. В. Румянцев
АЗБУКА ПРОГРАММИРОВАНИЯ В WIN32 API
ПРЕДИСЛОВИЕ К ТРЕТЬЕМУ ИЗДАНИЮ
Предлагаемая читателю книга является плодом долгих раздумий автора. Дело в том, что подавляющее большинство книг, посвященных
программированию для Windows, написаны с таким расчетом, чтобы
пользователь чуть ли не через пару прочитанных страниц мог начать
программировать. Возможно, эта задача успешно выполняется. Но в этом
случае возникает другая проблема: у многих программистов после получения
первоначальных знаний, достаточных для создания окна и простых диалогов,
отпадает желание двигаться дальше. Подавляющее большинство
возможностей, предоставляемых системой, остаются вне поля зрения. По моему мнению, такой подход к изложению основ Win32 API
методологически не верен. Я решил пойти по другому пути: сначала рассказать
читателю, какие возможности предоставляет Win32 API, и только потом научить
его создавать пользовательский интерфейс. Тем самым я постараюсь достичь
того, что программист будет понимать возможности системы. Это позволит ему
создавать более интересные программы. Когда я начал изучение
программирования Windows, в поле моего зрения была одна единственная книга
- «Programming Windows» Чарльза Петцольда (Charles Petzold). Сейчас я могу
сказать, что эта книга просто великолепна! Буквально первые несколько глав
позволили мне, как говорится, «въехать» и далее работать самостоятельно,
используя впоследствии эту книгу как справочное пособие. При написании книги я предполагал дать быстрое и возможно более
полное введение в программирование в Windows NT и Windows'95.
При этом
мне хотелось, чтобы материал, изложенный в ней, был полезен как
начинающему программисту, так и специалисту, имеющему опыт в написании
програм для Windows (в этой книге понятие «Windows» соответствует, как
правило, Windows NT и Windows'95). Кроме того, мне хотелось избежать
влияния на фантазию программистов, поэтому приведенные примеры не
являются законченными. В них показано, как можно использовать
возможности Win32 API. Предполагается, что читатель знаком с языком
программирования С и имеет опыт работы с Windows'95 или Windows NT в
качестве пользователя. Автор рассчитывает на то, что в момент чтения
этой книги читатель будет сидеть за компьютером и вслед за автором пройдет по
заголовочным файлам Win32, файлам ее системы помощи, и будет
экспериментировать с теми заголовками программ, которые приводятся
автором. В книге дано описание некоторых типов, применяемых в Win32, но,
тем не менее, автор предполагает, что при описании переменных, типы которых
не относятся к основным типам, определенным в языке C/C++, читатель проявит
3
любознательность и найдет описание переменной в одном из зоголовочных
файлов Win32. В книге неоднократно делаются ссылки на «заголовочные файлы»
(header'bi) Win32. Одним из отличий Win32 от Windows 3. x является наличие
в SDK не одного файла заголовков windows. h, а множества заголовочных
файлов. Их объем по сравнению с Windows 3. x вырос не менее чем на
порядок.