Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Icones XP et vb.net [ Divers / General ] (shadow1779)

lundi 17 juillet 2006 à 11:50:19 | Icones XP et vb.net

shadow1779

Membre Club

Bonjour,

je suis en train de réaliser une application windows en vb 2005 et je souhaite l'enrichir graphiquement en lui appliquant des icones de windows dans ses menus et ses contextmenu, directement en prenant les ressources des dll de windows,

j'aimerai savoir déja dans quelles dll se situent toutes les icones, et comment les visualiser pour les choisir, et ensuite comment dire d'aller chercher pour chaque chose la ressource correspondante a l'image de telle dll

Merci d'avance


lundi 17 juillet 2006 à 14:29:10 | Re : Icones XP et vb.net

adamo901

Très bonne question, je suis aussi interessé par le sujet.


lundi 17 juillet 2006 à 14:58:33 | Re : Icones XP et vb.net

TroXsA

Salut a tous
Les icones ce trouve dans
%SystemRoot%\system32\SHELL32.dll

Il en existe plein d'autre mais les principales est dedans
Pour faire appel au icone depuis Vb 2005 a partir cette DLL je sais pas trop mais je sais une chose c'est qu'il faut ce servir des index
Exemple pour avoir l'icone qui ressemble au bouton Off, il faudra faire alors

%SystemRoot%\system32\SHELL32.dll, 8

J'espere au moins que ça pourra servir ou mettre sur la piste !


[ Lien ]
Le site qui ne parle qu'un seul langage, visual basic 2005

lundi 17 juillet 2006 à 16:43:12 | Re : Icones XP et vb.net

Willi

Membre Club Administrateur CodeS-SourceS

Salut tout le monde :)
Il te faut utiliser la méthode ExtractIcon qui va te retourner le handle de l'icone demandé.
Et une fois récupérer détruire la ressource avec la méthode DestroyIcon.

Reprenon l'exemple de Troxa avec shell32.dll

'Déclaration
private declare auto function ExtractIcon lib "shell32.dll" (hinst as intptr,lpszExeFileName as string, nIconIndex as uinteger) as intptr
private declare auto function DestroyIcon lib "user32.dll" (hicon as intptr) as boolean

Application

dim hIcon as intptr = ExtracIcon(me.handle,"c:\windows\system32\shell32.dll",8)
dim myIcon as icon = icon.f
romhandle(hIcon)

.....
DestroyIcon (hIcon)


Bon courage ++

lundi 17 juillet 2006 à 16:52:16 | Re : Icones XP et vb.net

TroXsA

Rhooo :) encore une API ! :) aller je me lance a la recherche du sans API pour vb.net 2005, histoire de savoir deja si ça existe ou pas ! :)

@bientot


[ Lien ]
Le site qui ne parle qu'un seul langage, visual basic 2005

lundi 17 juillet 2006 à 16:52:54 | Re : Icones XP et vb.net

shadow1779

Membre Club

ya un soft ou je peux voir toutes les icones de la dll, genre ResHacker ou un truc du genre ? , parce que tester chiffre par chiffre avant de voir ce qui m'intérèsse c'est long mdr :D

Merci d'avance

lundi 17 juillet 2006 à 17:05:47 | Re : Icones XP et vb.net

Willi

Membre Club Administrateur CodeS-SourceS
Shadow1779 -> Il y a IconWorkShop 6 d'Axlialis (Shareware par contre)

Troxsa -> Je crois que tu ne vas pas y échapper cette fois ci à l'api à moins que tu trouves une méthode cachée au fin fond d'une classe du framework . Bonne reherche.

lundi 17 juillet 2006 à 17:39:50 | Re : Icones XP et vb.net

pymaster

wow !

J'ai chercher pour ce code longtemps avant de le trouver, merci pour se post.

Pour allez chercher les icones sans faire du "Essais-Erreur" j'ai patenté un petit code qui comprend un formulaire, un Treeview et une image list

        On Error Resume Next
        Dim hIcon As IntPtr
        Dim myIcon As Icon
        Dim i As Single = 0
        Dim nd As TreeNode
        For i = 0 To 237
            hIcon = ExtractIcon(Me.Handle, "c:\windows\system32\shell32.dll", i)
            myIcon = Drawing.Icon.FromHandle(hIcon)
            imgList.Images.Add(i.ToString, myIcon)
            nd = Me.trTest.Nodes.Add(i.ToString)
            nd.ImageIndex = i
        Next

ça affiche dans le treeView toutes images icones avec leurs index. C'est simple mais pratique

Merci encore pour le call API
PY

lundi 17 juillet 2006 à 17:59:37 | Re : Icones XP et vb.net
lundi 17 juillet 2006 à 18:11:40 | Re : Icones XP et vb.net

Willi

Membre Club Administrateur CodeS-SourceS

Arf je suis dégouté j'avais posté une belle note complémentaire

Pour information
Pymaster fait une itération qui lit une à une les icones de shell32.dll. Je qui oblige de savoir le nombre d'icones à l'avance. Donc pour information la méthode ExtractIcon permet de récupérer le nombre total de ressources icones présentent dans un fichier. Juste la signature change.

Déclaration
private declare auto function ExtractIconN lib "shell32.dll" alias "ExtractIcon" (hinst as intptr,lpszExeFileName as string, nIconIndex as integer) as int

Application
dim c as integer=ExtractIconN(me.handle,"c:\windows\system32\shell32.dll", -1)
'c = nombre d'icones total.

Bon courage ++



1 2

Cette discussion est classé dans : net, vb, windows, icones, xp


Répondre à ce message

Sujets en rapport avec ce message

Icones fichiers windows vb.net 2003 [ par eldim ] Bonjour, Comment peut-on récupérer les icones des fichiers (utilisées par l'explorer) et les intégrés à un listview en cours d'exécution ? VB.NET 2003 [ par eldim ] Bonjour,J'ai un gros problème : je lance une appli windows par un sub Mainqui me lance un form en showdialog qui s'insère dans le systrayLorsque je cl Icones d'un PrintPreview en vb.net [ par olanfr ] Bonjour à tous,J'ai une application Mdi qui gère différents types d'impression. Pour ce la j'utilise des PrintPreview. Mes états s'affichent et s'impr Compatibilité d'un prog VB sur WINDOWS 98 SE [ par jorion7 ] Bonjour à tous, Je développe des programmes VB 6.0 sur un PC utilsant Windows XP. Lors de l'installation de l'un de mes soft sur une machine comportan imprimer un Windows from avec VB.Net [ par poilusduboux ] Bonjour a tous   <p class="MsoNorma VB.net et Windows CE [ par Luc de leuze ] Bonjour à tous,J'utilise VB.net depuis peu et je souhaiterais créer des applications sous Windows CE.Est ce possible? Si oui ou trouver les outils néc Lenteur de VB.NET 2002 Fr sous Windows 2000 SP4 [ par chanas ] bonjour,Je dispose d'un PC sous Windows 2000 SP4 en réseau d'entreprise (512 Mo RAM; proc. 1.8 GHz), utilisateur régulier de VB.6 j'envisage la passag VB.UserControl [ par babchrist ] Bonjour je développe sous Windows 2000, Visual Basic 6.Depuis une semaine j'ai un problème très sérieux.Mon programme dévelppé sous Windows 2000, Visu [VB.NET] icones - listes [ par Benouille ] j'utilise des icones pour faire joli. Elles sont sans grande surprise dans un controle ImageList. Le problème c'est que je dois dupliquer l'ImageList Clef Windows Xp - VB 2003 [ par chris_p ] Bonjour,Avant de reformater un pc, je souhaiterai faire ressortir sa clé Ms Windows.De ce fait, je voudrais créer un ptit programme super simple avec


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.