2009-07-02 7 views
6

Comment créer une ressource intégrée et y accéder à partir de C++?Ressource intégrée en C++

Tout exemple sur la façon de lire la ressource serait génial.

J'utilise Visual Studio 2005.

Merci à l'avance.

Modifier: Je veux mettre un fichier xsd qui est requis lors de la validation du schéma du fichier xml reçu.

Répondre

9

que je fais @Sharptooth expliqué avant et utiliser le code suivant pour obtenir la ressource

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type); 
HGLOBAL hRes = LoadResource(hInstance, hResInfo); 
LPVOID memRes = LockResource(hRes); 
DWORD sizeRes = SizeofResource(hInstance, hResInfo); 

Vous devez changer resourceId et type.

Par exemple pour un fichier .png j'utilise FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG")); (la chaîne "PNG" est le type que vous avez utilisé lors de l'ajout d'une ressource personnalisée).

+0

Comment obtenez-vous le handle de la DLL dans runtime? – Gilad

+0

Pouvez-vous vérifier si ces questions aident "Comment puis-je obtenir HINSTANCE à partir d'une DLL?" http://stackoverflow.com/questions/2126657/how-can-i-get-hinstance-from-a-dll#2126689 – Ismael

3

Ajoutez un fichier de ressources (.rc) au projet, placez-y la description de la ressource. Lors de la construction du projet, le compilateur de ressources compilera le fichier de ressources et l'éditeur de liens liera le fichier de ressources compilé dans le module exécutable résultant.

Lors de l'exécution appelez FindResource(), puis LoadResource() fonctions WinAPI.

Questions connexes