Ressources (Windows)
# Ressources (Windows)

Sous Microsoft Windows, les ressources (en anglais « resources ») sont des données statiques incorporées dans des fichiers exécutables (fichiers EXE) et bibliothèques dynamiques (fichiers DLL).

L'API Windows permet un accès complet à ces ressources en lecture et en modification.

## Création de ressource

Les ressources sont en général créées via un éditeur de ressources, en général intégré à l'environnement de développement intégré, mais peuvent également être écrits à la main. Cette étape de conception permet d'obtenir un fichier source de type RC (pour 'resource script'). Une fois le script prêt, il est traduit en fichier RES (pour 'Compiled Resource Script') par un compilateur de ressources. Ce fichier peut ensuite être utilisé par un éditeur de liens pour obtenir l'exécutable final (en fait ces deux dernières étapes sont souvent confondues en une seule, la construction de l'application).

## Types de ressources

Chaque ressource est identifiée au sein d'un exécutable par un nom, un type et une langue. En particulier, il est possible d'avoir plusieurs ressources ayant le même nom et le même type, à condition qu'elles aient une langue différente. Les types de ressources les plus courants sont les suivants :

* Curseurs (fixes ou animés) ;
* Icônes ;
* Bitmap ;
* Boîtes de dialogue ;
* Menus ;
* Polices (ou fontes) de caractères ;
* Chaînes de caractères ;
* Documents HTML ;
* Informations de version.

## Applications multilingues

Chaque ressource étant définie pour une langue particulière, il est possible d'utiliser ce mécanisme pour créer des applications multilingues. En effet le chargement de la ressource se fait de manière transparente en fonction de la langue du système d'exploitation. Ainsi par exemple il suffira de définir un menu dans différentes langues pour que celui-ci puisse être correctement affiché sur l'environnement d'exécution final. Ce choix permet de distribuer un unique fichier exécutable contenant les ressources pour toutes les langues.

Une autre approche consiste à créer une DLL de ressources pour chaque langue, de telle manière que le fichier exécutable de l'application est le même pour toutes les langues, et seul le fichier DLL de ressources diffère.

## Utilisation par l'explorateur Windows

L'explorateur Windows utilise quelques informations stockées dans les ressources des fichiers exécutables :

* L'icône utilisée pour représenter un exécutable correspond à la première icône présente dans les ressources de l'exécutable;
* Les informations de version sont récapitulées dans l'onglet Version des propriétés du fichier.

## Logiciels

* Microsoft Visual Studio (Microsoft EULA);
* Resource Hacker (Freeware);
* Resource Tuner (Shareware).
