Vista et les Icons

aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009 - 21 déc. 2007 à 23:43
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009 - 23 déc. 2007 à 15:34
Bonsoir, je cherche à extraire des icons d'une Dll ( imageres.dll ).

Voila comment je fais :

[DllImport("Shell32.dll",EntryPoint="ExtractIconExW",CharSet=CharSet.Unicode,ExactSpelling=true,CallingConvention=CallingConvention.StdCall)]

public static extern int ExtractIconEx(string sFile,int iIndex, out IntPtr piLargeVersion, out IntPtr piSmallVersion, int amountIcons);

IntPtr _large, _small;

ExtractIconEx("imageres.dll", 110, out _large, out _small, 1);

Icon icon = Icon.FromHandle(_large);

Cette méthode fonctionne correctement, cependant j'aimerai extraire des Icônes de plus grande taille, en effet l'icône avec le pointeur _large fais 32x32 et la _small 16x16.

J'ai lus que sous Vista la résolution des icônes allait jusqu'à 256x256.

Comment faire  ?

Merci de vos réponses.

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
22 déc. 2007 à 16:41
Salut, ExtractIconEx ne renvoie pas un IntPtr mais des tableaux de IntPtr qu'il faut penser à detruire avec DestroyIcon par la suite.

Regarde cet exemple :

http://www.pinvoke.net/default.aspx/shell32/ExtractIconEx.html
0
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009
22 déc. 2007 à 19:10
Salut, merci de ta reponse, c'est juste que cette méthode renvoie des tableaux, cependant le problème ne change pas, il n'y a qu'un élément dans les tableau et toujours pas les icônes de plus grande résolution. Ce qui ne m'avance pas beaucoup .

Je cherche depuis un bon moment et je ne trouve rien, pas de sources ni d'exemple , n'aurais-tu pas une idée sur la façon de procéder?

Merci @+
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 déc. 2007 à 13:59
C'est apparemment c'est le même problème avec SHGetFileInfo, faudrait passer par COM Interop et l'interface IExtractIcon.
0
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009
23 déc. 2007 à 15:34
Ok merci, je vais creuser cette voix. Je mettrai à jour le topic si je trouve quelquechose.

@+
0
Rejoignez-nous