Icones fichiers windows vb.net 2003 [Résolu]

Messages postés
961
Date d'inscription
lundi 30 mai 2005
Dernière intervention
21 août 2014
- - Dernière réponse : cs_eldim
Messages postés
961
Date d'inscription
lundi 30 mai 2005
Dernière intervention
21 août 2014
- 1 mars 2006 à 17:28
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 ?
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
3
Merci
Voilà pourquoi il faut auusi toujours présiser le langage et sa version dans la question.
Pour vs2003, ceci devrais marcher:

Imports System.Runtime.InteropServices

[...]

Private Declare Function ShGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal Path As String, ByVal DwAttributes As Integer, ByRef ShInfo As ShFileInfo, ByVal SizeFileInfo As Integer, ByVal Flags As Integer) As IntPtr
Private Const ShGetFileInfo_Icon As Short = &H100S
<Runtime.InteropServices.StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> Public Structure ShFileInfo
Dim HIcon As IntPtr
Dim Icon As Integer
Dim Attributes As Integer
<Runtime.InteropServices.MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> Public DisplayName As String
<Runtime.InteropServices.MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> Public TypeName As String
End Structure
Public Enum IconSize As Short
Small = &H1S
Large = &H0S
End Enum
Public Function GetIcon(ByVal FileName As String, ByVal Size As IconSize) As System.Drawing.Icon
Try
Dim ShInfo As New ShFileInfo
Call ShGetFileInfo(FileName, 0, ShInfo, Marshal.SizeOf(ShInfo), ShGetFileInfo_Icon Or Size)
Return System.Drawing.Icon.FromHandle(ShInfo.HIcon)
Catch
Return Nothing
End Try
End Function

[...]

'Pour appeller la fonction:
Dim Ico As System.Drawing.Icon = GetIcon("C:\WINDOWS\explorer.exe", IconSize.Small)

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
0
Merci
Salut,

ExtractAssociatedIcon de retourne l'icône associer au fichier.
Par example:
Dim Ico As System.Drawing.Icon = System.Drawing.Icon.ExtractAssociatedIcon("C:\WINDOWS\explorer.exe")

Ensuite, tu ajoute l'icône à l'image list de ta listview et tu crée un élément avec cette image.

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
Messages postés
961
Date d'inscription
lundi 30 mai 2005
Dernière intervention
21 août 2014
0
Merci
Merci de ta réponse
mais
J'ai bien spécifié vb.net 2003 pas 2005
Messages postés
961
Date d'inscription
lundi 30 mai 2005
Dernière intervention
21 août 2014
0
Merci
Impeccable merci

ça ralenti pas mal les traitements snif...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.