Lire une bibliothèque de ressources DLL.

Vidou -  
mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous.

Je suis sur Visual Studio 2019 et j'ai un DLL que j'ai, qui me contient des ressources (images, sons etc...)

J'ai trouvé sur MSDN ce bout de code qui est sensé me lire mon DLL


HMODULE maDLL(LoadLibraryEx(LPCWSTR("TestDLL.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE));

if (maDLL != NULL)
std::cout << "Hello World!\n";
else
std::cout << GetLastError() << std::endl;


Seulement j'ai beau mettre mon fichier DLL dans tous les dossiers/sous dossiers même avec l'adresse explicite (c:/blabla/madll.dll) ça fonctionne pas il ne l'ouvre jamais.

J'ai certainement du raté quelque chose mais je ne vois pas bien quoi....
Le getlasterror me donne la valeur "2". Je n'ai pas trouvé à quoi ça correspond.

De plus, je me demande si c'est possible de mettre un fichier .png en ressource (png qui à un filtre transparent) ? car mon image est "horrible" quand je l'ouvre avec visual studio, mais j'espère que c'est normal et que quand je vais demander à l'ouvrir quand ça marchera, il y aura pas cet aspect là.

Merci pour votre aide !
A voir également:

2 réponses

mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Bonjour,

Il faut que tu regardes si le répertoire dans lequel est positionné ton fichier
.dll
figure parmi ceux indiqués dans la variable d'environnement
LD_LIBRARY_PATH
. Sinon tu peux essayer de passer un chemin absolu.

Voir aussi la documentation de la fonction
LoadLibraryEx
.

Mais peut être que tu devrais nous dire ce que tu cherches à faire. Par exemple, si ton but est d'utiliser des fonctions fournies par une librairie, c'est plus une problématique qui se résout au moment de compiler ton programme (il faut ajouter la librairie à ton projet et adapter les options de compilation pour lier ton programme à cette librairie).

Bonne chance
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
pour lier ton programme à cette librairie).

tu veux dire : à cette bibliothèque (library en anglais ) :-) :-)
0
mamiemando Messages postés 33777 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
On ne peut rien te cacher :-)
0