Bagikan melalui


Format File Sumber Daya

Bagian ini menjelaskan format file sumber daya biner yang dibuat pengkompilasi sumber daya berdasarkan konten file definisi sumber daya. File ini biasanya memiliki ekstensi .res. Linker memformat ulang file .res ke dalam file objek sumber daya lalu menautkannya ke file aplikasi yang dapat dieksekusi.

File sumber daya biner terdiri dari sejumlah entri sumber daya yang digabungkan. Setiap entri terdiri dari header sumber daya dan data untuk sumber daya tersebut. Header sumber daya selaras dengan DWORD dalam file dan terdiri dari yang berikut ini:

  • DWORD yang berisi ukuran header sumber daya
  • DWORD yang berisi ukuran data sumber daya
  • Jenis sumber daya
  • Nama sumber daya
  • Informasi sumber daya tambahan

Struktur RESOURCEHEADER menjelaskan format header ini. Data untuk sumber daya mengikuti header sumber daya dan khusus untuk setiap jenis sumber daya. Beberapa sumber daya juga menggunakan struktur header grup khusus sumber daya untuk memberikan informasi tentang sekelompok sumber daya.

Sumber Daya Tabel Akselerator

Tabel akselerator adalah satu entri sumber daya dalam file sumber daya. Ini tidak memiliki header grup. Struktur ACCELTABLEENTRY menjelaskan setiap entri dalam tabel akselerator. Beberapa tabel akselerator diizinkan.

Kursor dan Sumber Daya Ikon

Sistem menangani setiap ikon dan kursor sebagai satu file. Namun, ini disimpan dalam file .res dan dalam file yang dapat dieksekusi sebagai sekelompok sumber daya ikon RT_GROUP_ICON atau grup sumber daya kursor RT_GROUP_CURSOR . Format file ikon dan sumber daya kursor serupa. Dalam file .res, header grup sumber daya mengikuti semua komponen ikon individual atau grup kursor.

Header grup untuk sumber daya ikon dan kursor terdiri dari struktur NEWHEADER ditambah satu atau beberapa struktur RESDIR . Ada satu struktur RESDIR untuk setiap ikon atau kursor. Header grup berisi informasi yang dibutuhkan aplikasi untuk memilih ikon atau kursor yang benar untuk ditampilkan. Header grup dan data yang berulang untuk setiap ikon atau kursor dalam grup memiliki panjang tetap. Ini memungkinkan aplikasi untuk mengakses informasi secara acak.

Format setiap ikon RT_ICON atau komponen sumber daya kursor RT_CURSOR sangat menyerupai format file .ico/.cur. Setiap gambar disimpan dalam struktur BITMAPINFO diikuti oleh bitmap independen perangkat warna (DIB) dari masker XOR ikon. Bit DIB monokrom dari masker AND mengikuti bit DIB warna. Perbedaan signifikan antara kursor dan ikon adalah bahwa kursor memiliki struktur LOCALHEADER dengan hotspot yang disisipkan sebelum data bitmap, sementara ikon tidak.

Karena windows Vista RT_ICON ikon atau sumber daya kursor RT_CURSOR mungkin berisi data gambar terkompresi PNG.

Sumber Daya Kotak Dialog

Kotak dialog juga merupakan satu entri sumber daya dalam file sumber daya. Ini terdiri dari satu struktur header kotak dialog DLGTEMPLATE ditambah satu struktur DLGITEMTEMPLATE untuk setiap kontrol dalam kotak dialog. Struktur DLGTEMPLATEEX dan DLGITEMTEMPLATEEX menjelaskan format sumber daya kotak dialog yang diperluas.

Sumber Daya Font

Font disimpan dalam file sumber daya sebagai sekelompok sumber daya. Font individual membentuk grup font. Pernyataan FONT pernyataan definisi sumber daya di . File RC mendefinisikan setiap font. Setiap font individual dalam sumber daya terdiri dari konten lengkap file .fnt terkait. Struktur FONTGROUPHDR mengikuti semua komponen font individual dalam file .res.

Sumber daya font tidak ditambahkan ke sumber daya aplikasi tertentu. Sebaliknya, file biasanya ditambahkan ke file yang dapat dieksekusi yang memiliki ekstensi .fon. File-file ini biasanya hanya sumber daya DLL daripada aplikasi.

Sumber daya menu terdiri dari struktur MENUHEADER diikuti oleh satu atau beberapa struktur NORMALMENUITEM atau POPUPMENUITEM, satu untuk setiap item menu di templat menu. Struktur MENUEX_TEMPLATE_HEADER dan MENUEX_TEMPLATE_ITEM menjelaskan format sumber daya menu yang diperluas.

Sumber Daya Tabel Pesan

Tabel pesan adalah sumber daya yang berisi teks yang diformat untuk ditampilkan sebagai pesan kesalahan atau dalam kotak pesan. Struktur utama dalam sumber daya tabel pesan adalah struktur MESSAGE_RESOURCE_DATA .

Sumber Daya Versi

Struktur utama dalam sumber daya versi adalah struktur VS_FIXEDFILEINFO . Struktur tambahan termasuk struktur VarFileInfo untuk menyimpan data informasi bahasa, dan StringFileInfo untuk informasi string yang ditentukan pengguna. Semua string dalam sumber daya versi dalam format Unicode. Setiap blok informasi diselaraskan pada batas DWORD .