jmfmarques
Messages postés
7666
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
25 juil. 2007 à 14:47
Voilà, pour les bonnes âmes qui, possédant Vista, ce qu'il convient de tester :
Sur une Form : une pictureBox Picture1 et le code suivant :
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Sub Form_Activate()
Me.AutoRedraw = True
Picture1.Move 0, Screen.Height / Screen.TwipsPerPixelX, Screen.Width / 2, Screen.Height / 4
Picture1.AutoRedraw = True
Me.Move 0, 0, Screen.Width, Screen.Height
Dim mIcon As Long, nb As Integer, saut As Integer, retour As Integer
'Extraction des icônes du fichier shell32.dll et dessin de ces icônes dans picture1
For Cnt = 0 To 200
ExtractIconEx "shell32.dll", Cnt, mIcon, ByVal 0&, 1
DrawIcon Picture1.hdc, 32 * nb, saut * 32, mIcon
DestroyIcon mIcon
nb = nb + 1
If nb = 19 Then
saut = saut + 1
nb = 0
retour = 0
End If
Next
CurrentX = 0
CurrentY = Picture1.Top / 3
Me.FontSize = 20
Me.FontBold = True
Me.Print "Icônes extraites avec ExtractIconeEx"
'on extrait l'icône associée à un fichier
mIcon = ExtractAssociatedIcon(App.hInstance, "C:\recycled", 2)
'on va maintenant afficher cette icône sur la Form
DrawIconEx Me.hdc, Screen.Width / (4 * Screen.TwipsPerPixelX), Screen.Height / (2.5 * Screen.TwipsPerPixelY), mIcon, 0, 0, 0, 0, DI_NORMAL
DestroyIcon mIcon 'on libère la mémoire de cette icône
CurrentX = 500
CurrentY = Screen.Height / 2.8
Me.Print "Icône extraite avec ExtractAssociatedIcon"
End Sub
Ceux qui, possédant Vista, voudraient bien tester et me dire le résultat me permettront de compléter mes connaissances sur cet aspect.
Je les guiderai alors vers le patch qui semble nécessaire et leur demanderai de retenter l'expérience, pour voir...
Pardonnez cette diversion, mais elle peut être utile à tous (je "recense", de mon côté)...
Merci à ceux qui voudront bien...