Том Сван Форматы файлов Windows. Пер. с англ. — М.: БИНОМ, 1994 — 288 с.: ил. ISBN 5-7503-0014-5 Эта книга является детальным руководством по многим файлам, поставляемым вместе с Microsoft Windows. Рассматриваются такие типы файлов, как графические растровые изображения (.BMP), курсоры (.CUR), пиктограммы UCO), шрифты (.FNT), файлы редактора Write (.WRI), календарь (.CAL), картотеки (.CRD), группы (.GRP), информационные файлы программ (.PIF), ресурсы, ЕХЕ-файлы и др. Вам также пригодится приводимый краткий обзор приемов обработки файлов и исполь- зования структур языка Си.
Оглавление
ПРЕДИСЛОВИЕ................................ 11
Глава 1
ВВЕДЕНИЕ................................... 12
Программы . . . •................................ 12
Аппаратура................................... 12
Как работать с книгой.............................. 12
Структурные диаграммы файлов....................... 13
Структурные описания файлов......................: . 15
Глава 2
ПРИЕМЫ РАБОТЫ СО СТРУКТУРАМИ ..................... 19
Определение глобальных и автоматических структур.............. 19
Размещение динамических структур....................... 21
Распределение памяти............................ 22
Освобождение памяти............................ 24
Использование указателей.......................... 24
Размещение и удаление структур...................... 25
Использование malloc() и free() ....................... 26
Использование new и delete в Си++..................... 26
Другие функции и макросы ......................... 27
Функция GetFreeSpacef)........................... 27
Функция GlobalCompactQ .......................... 28
Функция GlobalReAllocQ........................... 29
Макрос FIELDOFFSET ............................ 29
Макросы HIBYTE и LOBYTE.......................... 30
Макросы HIWORD и LOWORD ........................ 30
Макрос MAKELONG ............................. 31
Макрос MAKELP............................... 31
Использование структур переменной длины................... 31
Адресация больших структур .......................... 34
Глава 3
ПРИЕМЫ РАБОТЫ С ФАЙЛАМИ........................ 37
Основы обработки файлов............................ 37
Открытие файлов.............................. 37
Закрытие файла............................... 40
Чтение файла................................ 40
Создание нового файла........................... 42
Запись в файл................................ 43
Открытие файла с помощью OpenFile() ................... 44
Другие полезные файловые функции...................... 47
Поиск в файле.................................. 52
Большие файлы................................. 55
Глава 4
ФАЙЛЫ РАСТРОВОЙ ГРАФИКИ (.BMP)..................... SB
Формат файла.................................. 58
Интерфейс с языком Си............................. 60
BITMAPFILEHEADER............................. 60
BITMAPINFO................................. 61
\
BITMAPINFOHEADER............................. 62
RGBQUAD.................................. 65
Сжатие растровых изображений......................... 66
Формат сжатия BI_RLE8........................... 66
Формат сжатия BI_RLE4........................... 69
Глава 5
ФАЙЛЫ ПИКТОГРАММ (.ICO).......................... 72
Формат файла.................................. 72
Интерфейс с языком Си............................. 75
JCONHEADER................................. 75
ICONDIRENTRY................................ 76
ICONIMAGE ................................. 78
Как Windows отображает пиктограммы.................... 81
Глава 6
ФАЙЛЫ КУРСОРОВ (.CUR)........................... 84
Формат файла.................................. 84
Интерфейс с языком Си............................. 86
CURSORDIRENTRY.............................. 86
CURSORIMAGE................................ 88
Как Windows отображает курсоры...................... 89
Глава 7
ШРИФТОВЫЕ ФАЙЛЫ (.FNT)..........................91
Интерфейс с языком Си............................. 96
FONTINFO..................................96
FONTHEADER ................................ 96
FONTSPACING................................ 98
FONTSTYLE .................................99
FONTCHAR..................................102
FONTMISC..................................103
Таблица символов шрифта ...........................106
Моноширинные шрифты...........................108
Векторные шрифты .............................110
Неподдерживаемые структуры........................111
Глава 8
МЕТАФАЙЛЫ (.WMF).............................114
Формат файла..................................115
Формат стандартного метафайла......................115
Размещаемый формат метафайла......................116
Интерфейс с языком Си.............................118
Стандартный метафайл: METAHEADER....................118
Размещаемый метафайл: PMETAHEADER ..................119
GDI-записи метафайла.............................120
GDI-функции метафайла...........................121
METARECORD................................123
HANDLETABLE................................124
Создание и использование метафайлов.....................125
Другие метафайловые функции.........................129
CopyMetaFileO................................129
GetMetaFileBits()...............................130
SetMetaFileBitsO...............................130
SetMetaFileBitsBetterO............................131
EnumMetaFileO................................131
PlayMetaFileRecordO.............................132
Глава 9
ФАЙЛЫ КАЛЕНДАРЯ (.CAL)......................... 133
Формат файла.................................. 134
Заголовок файла программы Calendar.................... 135
Массив дескрипторов дат.......................... 136
Массив мероприятий суточного расписания................. 137
APPTINFO.................................. 139
Интерфейс с языком Си............................. 140
CALHEADER................................. 140
DATEINFO.................................. 142
DAYINFO................................... 143
APPTINFO.................................. 144
Глава 10
ФАЙЛЫ КАРТОТЕКИ (.CRD) .........................146
Формат файла.................................. 146
Заголовок.................................. 146
Индекс.................................... 147
Текстовая карточка ............................. 148
Графическая карточка............................ 149
Карточка, содержащая графику и текст................... 150
Интерфейс о языком Си............................. 151
CARDHEADER................................ 151
CARDINDEX................................. 151
TEXTCARD.................................. 152
GRAPHICSCARD............................... 153
TGCARD................................... 154
Глава 11
ФАЙЛЫ ПРОСМОТРЩИКА СИСТЕМНОГО БУФЕРА (.CLP)........... 156
Формат файла..................................156
Заголовок системного буфера........................157
Индекс системного буфера.........................157
Интерфейс с языком Си.............................158
CLIPHEADER.................................159
CLIPINDEX..................................159
Форматы данных системного буфера......................160
Глава 12
ФАЙЛЫ РЕДАКТОРА WINDOWS WRITE (.WRI)................. 164
Формат файлов................................. 164
WRHEADER.................................. 165
WRTEXT................................... 166
WRPICT................................... 167
WROLE.................................... 167
WRFORMAT................................. 169
FOD..................................... 170
FPROP.................................... 171
Формат файла..................................221
OLDHEADER.................................222
EXEHEADER ..................'................223
WINHEADER.................................223
WININFO...................................224
TBSEGMENT.................................226
TBRESOURCE................................226
TBRESNAME.................................227
TBMODULE..................................228
TBENTRY...................................229
TBNONRESNAME...............................229
TBRELOCATIONTABLE............................229
Интерфейс с языком Си.............................230
OLDHEADER.................................231
EXEHEADER.................................232
WINHEADER.................................233
WININFO...................................234
TBSEGMENT.................................239
TBRESOURCE................................240
TBRESNAME.................................244
TBMODULE..................................245
TBIMPNAME.................................245
TBENTRY...................................246
TBNONRESNAME...................,...........248
Сегменты кода и данных.............................248
Глава 16
РЕСУРСЫ ИСПОЛНЯЕМОГО ФАЙЛА (.ЕХЕ)..................251
Формат файла..................................251
Ресурсы растровых изображений......................251
Ресурсы пиктограмм.............................252
Ресурсы курсоров..............................253
Шрифтовые ресурсы.............................254
Ресурсы меню................................255
Ресурсы ускорителей ............................256
Ресурсы диалоговых панелей........................257
Ресурсы таблиц символьных строк......................259
Ресурсы версий...............................260
Интерфейс с языком Си.............................262
Ресурсы растровых изображений (RES_BITMAP)...............262
Ресурсы пиктограмм (RESJCON)......................262
Ресурсы курсоров (RES_CURSOR)......................264
Ресурсы шрифтов (RES_FONT)........................265
Ресурсы меню (RES_ME~NU).........................267
Ресурсы ускорителей (RES_ACCEL)..................... 269
Ресурсы диалоговых панелей (RES_DIALOG).................271
Ресурсы таблиц символьных строк (RES_STRING)..............274
Ресурсы версий (RES_VERSION).......................275
ПРЕДИСЛОВИЕ
Эта книга была написана по одной простой причине: мне нужен был удобный справочник по структурам файлов Windows, но не пособие по программированию, а непосредственно сосредоточенный на внутренних деталях таких типов файлов, как пиктограммы, курсоры, шрифты, ресурсы, группы, ЕХЕ-, PIF- и BMP-файлы, файлы редактора Write, календаря, картотеки и др.
К сожалению, подобной книги не существовало, а вся информация по этому предмету была опубликована беспорядочно и в сильно несовместимых формах. Поэтому я решил написать свой собственный справочник в едином стиле. Это Форматы файлов Windows — сжатое детальное руководство по большинству файловых типов Microsoft Windows.
После кратких наставлений по структурам и по технологии файловой обработки в книге описываются форматы нескольких типов файлов Windows. В каждой главе эти форматы показаны двумя способами: структурными диаграммами, содержащими имя поля, его длину и байтовое смещение, а также как структуры языка Си.
Хотя все листинги в книге даны на языке Си, информация пригодна для использования в любых системах разработки программ под Windows, способных читать или записывать дисковые файлы. Чтобы пользоваться данной книгой, желательно немного знать язык Си, но отнюдь не быть Си-гуру. Если вы программируете на таких языках, как Visual BASIC, Turbo Pascal for Windows, то диаграммы файловых структур, приведенные здесь, окажутся особенно полезными для написания программ доступа к файлам Windows. Листинги структур совместимы со всеми компиляторами Си и Си++.
В будущих редакциях я надеюсь исследовать большее число файловых типов Windows. Сообщите мне, какой из них вы хотели бы видеть в следующей книге. Вы можете связаться со мной через издательство или через электронную почту. Я с удовольствием выслушаю вас.


Hosted by uCoz