Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction ExtractIcon

Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
                 
ByVal hInst As Long, _
                 ByVal lpszExeFileName As String, _
                 ByVal nIconIndex As Long) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
Cette fonction permet d'extraire un icône depuis un fichier (DLL, ICO, EXE).
hInst est le handle de l'application utilisant la fonction.
lpszExeFileName est le nom du fichier dont on va extraire les icônes.
nIconIndex est l'index de l'icône à extraire. Si la valeur vaut -1, la fonction retourne le nombre total d'icône pouvant être extraits.

Exemple d'utilisation :

' Exemple de Philippe Plançon

' Extraire les icônes d'un exécutable
Dim FichierExtraction As String
Dim
NbIcon As Long
Dim
Handle As Long ' Adresse pointée par ExtractIcon
Dim X As Long ' Retour

' Les API
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, _
   
ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long) As Long
Private Declare Function
ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _
     (
ByVal hInst As Long, ByVal lpszExeFileName As String, _
   
ByVal nIconIndex As Long) As Long

Private Sub
Extraction()
' ---Demande du fichier---
FichierExtraction = InputBox$("Fichier contenant l'icône à extraire (.ICO,.EXE,.DLL):", _
                    "Extraction d'icône", App.Path & "\" & App.EXEName & ".exe")
If FichierExtraction = vbNullString Then Exit Sub
' ---Initialise---
Picture1.Cls
' ---Retourne le nombre d'icône contenu par le fichier---
' Le -1 est important : il déclenche l'option de "comptage" des icônes
NbIcon = ExtractIcon(Handle, FichierExtraction, -1)
Label1.Caption = "Nombre d'icône = " & Str$(NbIcon)
' ---Extraction et dessine l'icône---
' Le premier icône est indexé en 0
NbIcon = ExtractIcon(Handle, FichierExtraction, NbIcon - 1)
X = DrawIcon(Picture1.hdc, 0, 0, NbIcon)
End Sub

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr