|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Win32 Resource File Formats
This section describes the format of the binary resource file that the resource compiler creates based on the contents of the resource-definition file. This file usually has an .RES extension. The linker reformats the .RES file into a resource object file and then links it to the executable file of a Win32-based application.
A binary resource file consists of a number of concatenated resource file entries. Each entry consists of a resource header and the data for that resource. A resource header is DWORD-aligned in the file and consists of the following:
· A DWORD that contains the size of the resource header · A DWORD that contains the size of the resource data · The resource type · The resource name · Additional resource information
The RESOURCEHEADER structure describes the format of this header. The data for the resource follows the resource header and is specific to each type of resource. Some resources also employ a resource-specific group header structure to provide information about a group of resources. An accelerator table is one resource entry in a resource file. It does not have a group header. An AccelTableEntry structure describes each entry in the accelerator table. Multiple accelerator tables are permitted.
A dialog box is also one resource entry in the resource file. It consists of one DLGTEMPLATE dialog box header structure plus one DLGITEMTEMPLATE structure for each control in the dialog box. The DLGTEMPLATEEX and the DLGITEMTEMPLATEEX structures describe the format of extended dialog box resources. Fonts are stored in the resource file as a group of resources. Individual fonts make up a font group. A FONT Statement resource definition statement in the .RC file defines each font. Each individual font in the resource consists of the complete contents of the related .FNT file. A FontGroupHdr structure follows all the individual font components in the .RES file.
Font resources are not added to the resources of a specific application. Instead, they are normally added to .EXE files that have a .FON extension. These files are usually resource-only dynamic-link libraries (DLLs) rather than applications. Windows handles each icon and cursor as a single file. However, these are stored in .RES files and in .EXE files as a group of icon resources or a group of cursor resources. The file formats of icon and cursor resources are similar. In the .RES file a resource group header follows all of the individual icon or cursor group components.
The format of each icon component closely resembles the format of the .ICO file. Each icon image is stored in a BITMAPINFO structure followed by the color device-independent bitmap (DIB) bits of the icon's XOR mask. The monochrome DIB bits of the icon's AND mask follow the color DIB bits. The format of each cursor component resembles the format of the .CUR file. Each cursor image is stored in a BITMAPINFO structure followed by the monochrome device-independent bitmap (DIB) bits of the cursor's XOR mask, and then by the monochrome DIB bits of the cursor's AND mask. Note that there is a difference in the bitmaps of the two resources: Unlike icons, cursor XOR masks do not have color DIB bits. Although the bitmaps of the cursor masks are monochrome and do not have DIB headers or color tables, the bits are still in DIB format with respect to alignment and direction. Another significant difference between cursors and icons is that cursors have a hotspot and icons do not.
The group header for both icon and cursor resources consists of a NEWHEADER structure plus one or more RESDIR structures. There is one RESDIR structure for each icon or cursor. The group header contains the information a Windows application needs to select the correct icon or cursor to display. Both the group header and the data that repeats for each icon or cursor in the group have a fixed length. This allows the application to randomly access the information.
A menu resource consists of a MenuHeader structure followed by one or more NormalMenuItem or PopupMenuItem structures, one for each menu item in the menu template. The MENUEX_TEMPLATE_HEADER and the MENUEX_TEMPLATE_ITEM structures describe the format of extended menu resources. A message table is a resource that contains formatted text for display as an error message or in a message box. The main structure in a message table resource is the MESSAGE_RESOURCE_DATA structure. The organization of a message table resource is similar to that of a string table resource.
The main structure in a version resource is the VS_FIXEDFILEINFO structure. Additional structures include the VarFileInfo structure to store language information data, and StringFileInfo for user-defined string information. All strings in a version resource are in Unicode format for Win32-based applications. Each block of information is aligned on a DWORD boundary. For a group list of the structures that describe the format of resources, see Resource Structures.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Файловые Форматы Ресурса Win32
Эта секция описывает формат двоичного файла ресурса, который компилятор ресурса создает базирующийся на содержании ресурса-определения файла. Этот файл обычно имеет расширение .RES. Компоновщик переформатирует файл .RES в объектный файл ресурса затем связывает это в выполняемый файл базирующегося приложения Win32.
Двоичный файл ресурса состоит из множества файловых данных конкатенировать ресурса. Каждый вход состоит из заголовка ресурса и данные для этого ресурса. Заголовок ресурса выровнен DWORD в файле и состоялся из следующего:
DWORD, Что содержит размер заголовка ресурса DWORD, что содержит размер данных ресурса тип ресурса имя ресурса Дополнительная информация ресурса
Структура RESOURCEHEADER описывает формат этого заголовка. Данные для ресурса следует за заголовком ресурса и характерное для каждого типа ресурса. Некоторые ресурсы также применяют ресурс-специфическую групповую структуру заголовка, чтобы обеспечивать информацию о группе ресурсов. Таблица акселератора является одним входом ресурса в файле ресурса. У него нет группового заголовка. Структура AccelTableEntry описывает каждый вход в таблице акселератора. Многочисленные таблицы акселератора разрешены.
Диалоговый блок является также одним входом ресурса в файле ресурса. Это состоит из одной структуры заголовка диалогового блока DLGTEMPLATE плюс одна структура DLGITEMTEMPLATE для каждого управления в диалоговом блоке. DLGTEMPLATEEX И структуры DLGITEMTEMPLATEEX описывают формат расширенных диалоговых ресурсов блока. Шрифты загружены в файл ресурса как группа ресурсов. Индивидуальные шрифты создают шрифту группу. Определение ресурса ШРИФТОВОГО утверждения Утверждения в файле .RC определяет каждый шрифт. Каждый индивидуальный шрифт в ресурсе состоит из полного содержания связанного файла .FNT. Структура FontGroupHdr следует за всеми индивидуальными шрифтовыми компонентами в файле .RES.
Шрифтовые ресурсы не добавлены к ресурсам специфического приложения. Взамен, они нормально добавлены к файлам .EXE, что иметь расширение .FON. Эти файлы - только библиотеки обычно ресурса-динамическая связь (DLLs) а не приложения. Windows оперирует каждую иконку и курсор как единственный файл. Тем не менее, эти загружены в файлы .RES и в файлах .EXE как группа иконных ресурсов или группа ресурсов курсора. Файловые форматы иконных и ресурсов курсора аналогичные. В файле .RES групповой заголовок ресурса следует за всеми индивидуальными иконными или групповыми компонентами курсора.
Формат каждого иконного компонента тесно имеет сходство с форматом файла .ICO. Каждый иконный образ загружен в структуру BITMAPINFO сопровожденную цветным машинонезависимым побитовым отображением (DIB) битами иконной маски XOR. Монохромные биты DIB икона И маска следует за цветными битами DIB. Формат каждого компонента курсора имеет сходство с форматом файла .CUR. Каждый образ курсора загружен в структуру BITMAPINFO сопровожденную монохромным машинонезависимым побитовым отображением (DIB) битами маски курсора XOR, и затем монохромными битами DIB курсор И маска. Отметьте, что есть различие в побитовых отображениях двух ресурсов: В отличие от иконок, маски курсора XOR нет имеют цветные биты DIB. Хотя побитовые отображения масок курсора монохромные и нет имеют заголовки DIB или цветные таблицы, биты - все еще в формате DIB что касается выравнивания и направления. Другое значимое различие между курсорами и иконками - то, что курсоры имеют hotspot и иконки нет.
Групповой заголовок как для иконных так и ресурсов курсора состоит из структуры NEWHEADER плюс одна или более структур RESDIR. Есть один структура RESDIR для каждой иконки или курсора. Групповой заголовок содержит информации приложению Windows нужно выбираться правильную иконку или курсор, чтобы отображаться. Как групповой заголовок так и данные, которые повторяются для каждой иконки или курсора в группе имеют фиксированную длину. Это допускает приложение в произвольно выборку информация.
Ресурс меню состоит из структуры MenuHeader сопровожденной одним или более NormalMenuItem или структурами PopupMenuItem, за каждого пункта меню в шаблоне меню. MENUEX_TEMPLATE_HEADER И структуры MENUEX_TEMPLATE_ITEM описывают формат расширенных ресурсов меню. Таблица сообщения является ресурсом, который содержит форматированный текст для дисплея как сообщение ошибки или в блоке сообщения. Основная структура в табличном ресурсе сообщения является структурой MESSAGE_RESOURCE_DATA. Организация табличного ресурса сообщения подобная тому же самому табличному ресурсу строки.
Основная структура в ресурсе версии - структура VS_FIXEDFILEINFO. Дополнительные структуры включают структуру VarFileInfo, чтобы загружать языковые информационные данные, и StringFileInfo для информации строки определенного пользователя. Все строки в ресурсе версии - в формате Уникода для базирующихся приложений Win32. Каждый блок информации выровнен на границе DWORD. Для группового списка структур, которые описывают формат ресурсов, смотри Структуры Ресурса.
|
|
|
|
| |