Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Abschnitt wird das Format der binären Ressourcendatei beschrieben, die der Ressourcencompiler basierend auf dem Inhalt der Ressourcendefinitionsdatei erstellt. Diese Datei hat in der Regel die Erweiterung RES. Der Linker reformiert die RES-Datei in eine Ressourcenobjektdatei und verknüpft sie dann mit der ausführbaren Datei einer Anwendung.
Eine binäre Ressourcendatei besteht aus einer Reihe verketteter Ressourceneinträge. Jeder Eintrag besteht aus einem Ressourcenheader und den Daten für diese Ressource. Ein Ressourcenheader ist DWORD--ausgerichtet in der Datei und besteht aus folgendem:
- Ein DWORD-, das die Größe des Ressourcenheaders enthält
- Ein DWORD-, das die Größe der Ressourcendaten enthält
- Der Ressourcentyp
- Der Ressourcenname
- Zusätzliche Ressourceninformationen
Die RESOURCEHEADER- Struktur beschreibt das Format dieses Headers. Die Daten für die Ressource folgen dem Ressourcenheader und sind für jeden Ressourcentyp spezifisch. Einige Ressourcen verwenden auch eine ressourcenspezifische Gruppenkopfstruktur, um Informationen zu einer Gruppe von Ressourcen bereitzustellen.
Ressourcen für Schnellinfotabellen
Eine Zugriffstastentabelle ist ein Ressourceneintrag in einer Ressourcendatei. Sie verfügt nicht über einen Gruppenkopf. Eine ACCELTABLEENTRY- Struktur beschreibt jeden Eintrag in der Zugriffstastentabelle. Mehrere Zugriffstastentabellen sind zulässig.
Cursor- und Symbolressourcen
Das System behandelt jedes Symbol und cursor als einzelne Datei. Diese werden jedoch in RES-Dateien und ausführbaren Dateien als Gruppe von RT_GROUP_ICON Symbolressourcen oder einer RT_GROUP_CURSOR Gruppe von Cursorressourcen gespeichert. Die Dateiformate von Symbol- und Cursorressourcen sind ähnlich. In der RES-Datei folgt ein Ressourcengruppenkopf allen Einzelnen Symbol- oder Cursorgruppenkomponenten.
Der Gruppenkopf für Symbol- und Cursorressourcen besteht aus einer NEWHEADER- Struktur sowie einer oder mehreren RESDIR- Strukturen. Es gibt eine RESDIR- Struktur für jedes Symbol oder Cursor. Der Gruppenkopf enthält die Informationen, die eine Anwendung zum Auswählen des richtigen Symbols oder Cursors benötigt. Sowohl der Gruppenkopf als auch die Daten, die für jedes Symbol oder Cursor in der Gruppe wiederholt werden, weisen eine feste Länge auf. Dadurch kann die Anwendung zufällig auf die Informationen zugreifen.
Das Format jedes RT_ICON Symbols oder RT_CURSOR Cursorressourcenkomponente ähnelt dem Format der Datei .ico/.cur. Jedes Bild wird in einer BITMAPINFO- Struktur gespeichert, gefolgt von den Farbgeräteunabhängigen Bitmapbits (DIB) der XOR- Maske des Symbols. Die monochromen DIB-Bits der UND Maske folgen den Farb-DIB-Bits. Ein erheblicher Unterschied besteht darin, dass RT_CURSOR Cursorressourcen eine LOCALHEADER-Struktur mit einem Hotspot haben, der vor den Bitmapdaten eingefügt wurde, während RT_ICON Ressourcen nicht vorhanden sind.
Da Windows Vista RT_ICON Symbol oder RT_CURSOR Cursorressource PNG-komprimierte Bilddaten enthalten kann.
Animierte RT_ANICURSOR Cursor befinden sich im gleichen RIFF-Format wie .ani Dateien auf dem Datenträger. Animierte RT_ANIICON Symbolressourcen werden nicht häufig verwendet.
Ressourcen des Dialogfelds
Ein Dialogfeld ist auch ein Ressourceneintrag in der Ressourcendatei. Es besteht aus einer DLGTEMPLATE Kopfzeilenstruktur des Dialogfelds sowie einer DLGITEMTEMPLATE- Struktur für jedes Steuerelement im Dialogfeld. Die DLGTEMPLATEEX- und die DLGITEMTEMPLATEEX- Strukturen beschreiben das Format erweiterter Dialogfeldressourcen.
Schriftartressourcen
Schriftarten werden in der Ressourcendatei als Gruppe von Ressourcen gespeichert. Einzelne Schriftarten bilden eine Schriftartgruppe. Eine FONT-Anweisung Ressourcendefinitionsanweisung in der . RC-Datei definiert jede Schriftart. Jede einzelne Schriftart in der Ressource besteht aus dem vollständigen Inhalt der zugehörigen .fnt Datei. Eine FONTGROUPHDR- Struktur folgt allen einzelnen Schriftartkomponenten in der RES-Datei.
Schriftartressourcen werden nicht zu den Ressourcen einer bestimmten Anwendung hinzugefügt. Stattdessen werden sie normalerweise zu ausführbaren Dateien hinzugefügt, die über die Erweiterung fon verfügen. Diese Dateien sind in der Regel ressourcengeschützte DLLs und nicht Anwendungen.
Menüressourcen
Eine Menüressource besteht aus einer MENUHEADER- Struktur gefolgt von einer oder mehreren NORMALMENUITEM oder POPUPMENUITEM Strukturen, eines für jedes Menüelement in der Menüvorlage. Die MENUEX_TEMPLATE_HEADER und die MENUEX_TEMPLATE_ITEM Strukturen beschreiben das Format erweiterter Menüressourcen.
Nachrichtentabellenressourcen
Eine Nachrichtentabelle ist eine Ressource, die formatierten Text für die Anzeige als Fehlermeldung oder in einem Meldungsfeld enthält. Die Hauptstruktur in einer Nachrichtentabellenressource ist die MESSAGE_RESOURCE_DATA Struktur.
Versionsressourcen
Die Hauptstruktur in einer Versionsressource ist die VS_FIXEDFILEINFO Struktur. Weitere Strukturen umfassen die VarFileInfo- Struktur zum Speichern von Sprachinformationsdaten und StringFileInfo- für benutzerdefinierte Zeichenfolgeninformationen. Alle Zeichenfolgen in einer Versionsressource befinden sich im Unicode-Format. Jeder Informationsblock wird an einer DWORD- Grenze ausgerichtet.