UDF > WinAPIEx > Menus & Resources > Icons >


_WinAPI_GetIconInfoEx

Obtient des informations sur l'icône ou le curseur spécifié

#include <WinAPIIcons.au3>
_WinAPI_GetIconInfoEx ( $hIcon )

Paramètre

$hIcon Handle de l'icône ou du curseur. Pour récupérer des informations sur une icône ou un curseur standard, utilisez les constanes $IDC_*.

Valeur de retour

Succès: Retourne le tableau qui contient les informations suivantes:
    [0] - Une valeur de 1 indique une icône, 0 un curseur.
    [1] - La coordonnée x du point actif du curseur.
    [2] - La coordonnée y du point actif du curseur.
    [3] - Le handle du bitmap masque de bits de l'icône.
    [4] - Le handle du bitmap couleur de l'icône.
    [5] - Les bits de la ressource icône ou curseur.
    [6] - Le chemin d'accès complet du module.
    [7] - Le chemin d'accès complet de la ressource.
Échec: Définit @error <> 0.

Remarques

_WinAPI_GetIconInfoEx() crée les bitmaps [3] et [4].
L'application appelante doit gérer ces bitmaps et les supprimer quand ils ne sont plus nécessaires.

Cette fonction nécessite Windows Vista ou une version ultérieure.

Voir aussi

Consultez GetIconInfoEx dans la librairie MSDN.

Exemple

#include <MsgBoxConstants.au3>
#include <WinAPIIcons.au3>
#include <WinAPIRes.au3>
#include <WinAPISys.au3>

If Number(_WinAPI_GetVersion()) < 6.0 Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure.')
    Exit
EndIf

Local $hInstance = _WinAPI_LoadLibraryEx(@AutoItExe, $LOAD_LIBRARY_AS_DATAFILE)
Local $hIcon = _WinAPI_LoadImage($hInstance, 99, $IMAGE_ICON, 0, 0, $LR_DEFAULTSIZE)
Local $aInfo = _WinAPI_GetIconInfoEx($hIcon)
If IsArray($aInfo) Then
    ConsoleWrite('Handle: ' & $hIcon & @CRLF)
    ConsoleWrite('Path:   ' & $aInfo[6] & @CRLF)
    ConsoleWrite('ID:     ' & $aInfo[5] & @CRLF)
    For $i = 3 To 4
        _WinAPI_DestroyIcon($aInfo[$i])
    Next
EndIf
_WinAPI_FreeLibrary($hInstance)
_WinAPI_DestroyIcon($hIcon)