Archives pour la catégorie Windows

Ajouter un fichier ressource Win32 dans votre exécutable

file

Intro :

Dans un exécutable Windows, on peut stocker plusieurs fichiers. Ces fichiers en question s’appellent des « ressources ».

Prérequis :

– Savoir lire du C++

– Savoir se servir de Visual Studio C++

Explications :

Le fichier à intégrer peut-être de n’importe quel format !

On déclare ainsi dans le fichier de déclaration de ressource, la ressource en question, avec le patron de schéma suivant :

nameID typeID filename

Ce contenu doit être mis dans un fichier ressource.h

Le nom du fichier « filename » spécifie le nom d’un fichier contenant des données binaires de la ressource. Le contenu du fichier est intégré dans la ressource spécifiée. A noter que les données doivent être proprement alignées pour récupération sur une autre architecture.

Les données peuvent être définies directement entre les accolades de la manière suivante :

nameID typeID { raw-data }

18 MYRES2
{
   "Here is an ANSI string\0",    // explicitly null-terminated
}


Paramètres :

nameID : un unique nom ou une valeur de 16 bits en tout (unsigned integer) qui identifie la ressource

typeID : un unique nom (chaîne de caractères) ou un entier de 16 bits (unsigned integer) qui identifie le type de la ressource. Si un nombre est spécifié, il doit être supérieur à 255, les autres nombres sont réservés

filename : nom (chaîne de caractères) du fichier qui contient les données de la ressource. Ce nom doit correspondre à un fichier valide et existant, le nom du fichier doit être un chemin complet s’il n’est pas dans le répertoire courant

raw-data : données brutes consistant en plusieurs entiers ou chaînes de caractères

 

Résumé :

Nous avons présentée une méthode permettant d’intégrer des fichiers au sein de votre application C++. Il est aisé de récupérer leur contenu avec la fonction présentée ci-dessus.

Références :

– http://stackoverflow.com/questions/2933295/embed-text-file-in-a-resource-in-a-native-windows-application

– https://msdn.microsoft.com/en-us/library/aa381054(VS.85).aspx

Charger vos fichiers shaders .fx en tant que ressources d’exécutable

shader

Intro :

Il est méconnu que l’on puisse stocker des fichiers à l’intérieur d’un exécutable Win32. Ces fichiers, en l’occurrence, sont appelés ressources.

Prérequis :

– Savoir lire du C++

– Savoir utiliser la classe ShaderTechnique

– Comprendre comment intégrer une ressource à un exécutable

Explications :

Pour cela il faut utiliser la fonction DirectX 10.1 D3DX10CreateEffectFromResource(…)

Résumé :

Références :