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

Signaler
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
-
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
-
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 ?

4 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
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.
3
Merci

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

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

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
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
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
Merci de ta réponse
mais
J'ai bien spécifié vb.net 2003 pas 2005
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
Impeccable merci

ça ralenti pas mal les traitements snif...