Resource (Windows)

In Microsoft Windows, a resource is an identifiable, read-only chunk of data embedded in an executable file—specifically a PE file.

Files that contain resources include: EXE, DLL, CPL, SCR, SYS and MUI files.

The Windows API provides a computer program access to resources.

Types
Each resource has a type and a name, both being either numeric identifiers or strings.

Windows has a set of predefined resource types:
 * Cursor and animated cursor
 * Icon
 * Bitmap
 * Dialog box template
 * Font
 * HTML document
 * String and message template
 * Version data
 * Manifest data
 * arbitrary (binary) data

The programmer can also define custom data types.

Usage
The icon that Windows displays for an executable program file is the first icon resource in the file. If the file has no icon resources, a standard icon is displayed.

File Explorer displays aspects of file's version resource in the Version tab of a file's properties.

To support internationalization and localization a resource is associated with a natural language. An application can be internationalized by associating the same identifier to resources that have the same content but localized for different languages. Via Multilingual User Interface, Windows can be setup to use the resource for a selected language.

Editors are available that can modify resources embedded in EXE or DLL files. These are typically used to translate all strings of an application to another language, or to modify its icons and bitmaps accordingly.