Incone dans un dll

cs_johndave Messages postés 35 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 2 juin 2015 - 6 août 2008 à 13:33
cs_johndave Messages postés 35 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 2 juin 2015 - 8 août 2008 à 14:09
Quel code permettant de placer des incones dans un dll en C/C++ ?

7 réponses

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
6 août 2008 à 15:55
Salut,

Par définition une dll est chargée en mémoire,
elle contient des fonctions qui peuvent être appelées par différents programmes,
mais en aucun cas une dll accède à l'affichage, donc pas besoin d'icône..
Enfin il me semble...

Cordialement,
Sébastien.
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
6 août 2008 à 16:26
Dans le cas ou ta plusieurs programmes qui ont des resources en commun(icone ou autre..) il peut etre utile afin de limiter la taille des executables de partager ces resources au sein d'une meme dll..

Sinon pour ton pb ta juste a creer un fichier de resource et a l'inclure dans le projet de ta dll, tu peux creer ces fichiers avec un editeur de resource telle que ResEdit dispo ici:

http://www.resedit.net/

Neo_Fr
0
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
6 août 2008 à 17:39
(re)Salut,

Effectivement, ça marche mais bon...
on limite la taille de l'exe de 2 Ko,
soit 64 entiers pour un processeur 32 bit.

Cordialement,
Sébastien.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
6 août 2008 à 17:49
Salut,
Comme précisé par Neo_Fr, il te faudra deux fichiers:
1- Fichier script de ressource à inclure dans le projet de la DLL.
2- Le code de la DLL.
Exemple de script de ressource (ficher texte avec extention .rc):
101 ICON "monicone.ico"

Exemple de code minimal d'une DLL:
#include<windows.h>

int WINAPI DllMain (HINSTANCE hinstance,DWORD reason,PVOID reserved)
{
return 1;
}

Pour lire l'icone mise en ressource depuis un programme sans utiliser le Lib, on fait:
HINSTANCE hinst=LoadLibrary("madll.dll");
HICON icone=LoadIcon(hinst,MAKEINTRESOURCE(101));
//....
FreeLibrary(hinst);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
6 août 2008 à 17:59
SebLinCk >> Une DLL de ressources partagées permet de stocker des dizaines ou des centaines d'icones, bitmaps, sons , strings etc. Cela permet de gagner beaucoup plus que 2k. Le pafait exemple est shell32.dll qui, en plus des fonctions, met à la disposition des programmes plein de ressources.
0
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
7 août 2008 à 10:44
Salut racpp,

Je sais bien qu'une dll est une ressource partagé...
mais je pensais qu'une dll était plus utilisée pour partager des traitements,
merci pour la précision.

Cordialement,
Sébastien.
0
cs_johndave Messages postés 35 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 2 juin 2015
8 août 2008 à 14:09
Meci tout à tout le monde. Merci racpp, ton exemple m'est tres utile. Avant tout, je suis un débutant.
0
Rejoignez-nous