Formatos de arquivo de recurso do Win32

Esta seção descreve o formato de arquivo binário de recurso que o compilador de recursos cria com base no conteúdo do arquivo de definição de recurso. Este arquivo tem geralmente um.Extensão de RES. O vinculador reformata o.Arquivo RES em um arquivo de objeto de recurso e, em seguida, vincula para o arquivo executável de um aplicativo baseado em Win32.

Um arquivo de recursos binário consiste em um número de entradas de recurso concatenados. Cada entrada consiste em um cabeçalho de recurso e os dados para esse recurso. Um cabeçalho de recurso é DWORD-alinhado no arquivo e consiste dos seguintes:

A estrutura RESOURCEHEADER descreve o formato deste cabeçalho. Os dados para o recurso segue o cabeçalho de recurso e são específicos para cada tipo de recurso. Alguns recursos também empregam uma estrutura de cabeçalho de grupo de recursos específico para fornecer informações sobre um grupo de recursos.

Um tabela de aceleração é uma entrada de recurso em um arquivo de recurso. Ele não tem um cabeçalho de grupo. Um ACCELTABLEENTRY estrutura descreve cada entrada na tabela de teclas aceleradoras. São permitidas várias tabelas de acelerador.

Uma caixa de diálogo é também uma entrada de recurso no arquivo de recurso. Ele consiste de um DLGTEMPLATE de diálogo caixa Cabeçalho estrutura mais um DLGITEMTEMPLATE estrutura para cada Controlarar na caixa de diálogo. DLGTEMPLATEEX e DLGITEMTEMPLATEEX estruturas descrevem o Formatarar de recursos de caixa de diálogo estendida.

As fontes são armazenadas no arquivo de recurso como um grupo de recursos. Fontes individuais compõem um grupo de fonte. A declaração de definição de recurso de fonteinstrução na.Arquivo RC define cada tipo de letra. Cada fonte individual no recurso consiste de todo o conteúdo das disposições.Arquivo FNT. Uma estrutura FONTGROUPHDR segue todos os componentes de fonte individuais na.Arquivo RES.

Recursos de fonte não são adicionados aos recursos de um aplicativo específico. Em vez disso, eles são normalmente adicionados a arquivos executáveis que tenham um.Extensão FON. Esses arquivos são geralmente somente de recurso dinâmico-link bibliotecas (DLLs) ao invés de aplicativos.

O sistema processa cada ícone e o cursor como um único arquivo. No entanto, eles são armazenados no.Arquivos de RES e em arquivos executáveis como um grupo de recursos de ícone ou de um grupo de recursos do cursor. Os formatos de arquivo de recursos de ícone e o cursor são semelhantes. Na.RES arquivo cabeçalho de um grupo de recursos segue todos os componentes individuais de grupo ícone ou cursor.

O formato de cada componente de ícone se assemelha ao formato da.Arquivo ICO. Cada imagem de ícone é armazenada em um BITMAPINFO estrutura seguido pelo cor bitmap independente de dispositivo bits (DIB) da máscara de XOR do ícone. Os bits DIB monocromáticos do ícone da máscara e siga os bits DIB de cor.

O formato de cada componente de cursor se assemelha ao formato da.Arquivo CUR. Cada imagem de cursor é armazenado em uma estrutura BITMAPINFO seguida pelos bits monocromático bitmap independente de dispositivo (DIB) da máscara XOR do cursor e, em seguida, os bits DIB monocromáticos do cursor e máscara. Observe que há uma diferença em bitmaps dos dois recursos: ao contrário dos ícones, máscaras de XOR do cursor não ter cor DIB bits. Embora os bitmaps das máscaras de cursor são monocromático e não têm cabeçalhos DIB ou tabelas de cores, os bits são ainda no formato DIB em relação ao alinhamento e direção. Outra diferença significativa entre os cursores e ícones é que cursores têm um ponto de acesso e ícones não.

O cabeçalho do grupo para recursos de ícone e cursor consiste de um NEWHEADER estrutura além de uma ou mais estruturas RESDIR . Há uma estrutura RESDIR para cada ícone ou cursor. O cabeçalho de grupo contém as informações que precisa de um aplicativo baseado em Win32 para selecionar o ícone correto ou o cursor para exibir. O cabeçalho de grupo e os dados que se repete para cada ícone ou cursor no grupo têm um comprimento fixo. Isso permite que o aplicativo acessar aleatoriamente as informações.

Um recurso de menu consiste de um MENUHEADER estrutura seguida por um ou mais NORMALMENUITEM ou POPUPMENUITEM estruturas, uma para cada item de menu no modelo de menu. MENUEX_TEMPLATE_HEADER e MENUEX_TEMPLATE_ITEM estruturas descrevem o Formatarar de estendido menu recursos.

Uma tabela de mensagens é um recurso que contém texto formatado for exibir como uma mensagem de erro ou uma caixa de mensagem. A estrutura principal em um recurso tabela mensagem é a MESSAGE_RESOURCE_DATA estrutura.

A estrutura principal em um recurso de versão é o VS_FIXEDFILEINFO estrutura. Estruturas adicionais incluem o VarFileInfo estrutura para armazenar dados de informações de idioma, e StringFileInfo para obter informações de Cadeia de caracteres definida pelo usuário. Todas as seqüências de caracteres em um recurso de versão estão no formato Unicode para aplicativos baseados em Win32. Cada bloco de informações é alinhado em um DWORD limite.

Para uma lista de grupo de estruturas que descrevem o formato de recursos, consulte As recurso estruturas.

Index