Functions > Process >


DllCallbackFree

Libère un handle créé précédemment avec DllCallbackRegister.

DllCallbackFree ( handle )

Paramètre

handle Le handle DLLCallback, tel qu'il est retourné par un appel précédent à DllCallbackRegister().

Valeur de retour

Aucune.

Remarque

A la fin d'un script, AutoIt ferme automatiquement tous les handles ouverts mais utiliser la fonction DllCallbackFree() est toujours une bonne idée.

En relation

DllCall, DllCallbackGetPtr, DllCallbackRegister

Exemple

#include <MsgBoxConstants.au3>

; Crée une fonction de rappel.
Local $hHandle = DllCallbackRegister("_EnumWindowsProc", "int", "hwnd;lparam")

; Appelle EnumWindows.
DllCall("user32.dll", "int", "EnumWindows", "ptr", DllCallbackGetPtr($hHandle), "lparam", 10)

; Supprime la fonction de rappel.
DllCallbackFree($hHandle)

; Procédure de rappel
Func _EnumWindowsProc($hWnd, $lParam)
    ; Si le titre est vide ou si la fenêtre n'est pas visible, alors continue l'énumération.
    If WinGetTitle($hWnd) = "" Or BitAND(WinGetState($hWnd), 2) = 0 Then Return 1

    Local $iRes = MsgBox(BitOR($MB_SYSTEMMODAL, $MB_OKCANCEL), _
            WinGetTitle($hWnd), "$hWnd=" & $hWnd & @CRLF & _
            "$lParam=" & $lParam & @CRLF & _
            "$hWnd(type)=" & VarGetType($hWnd))

    If $iRes <> $IDOK Then Return 0 ; bouton Cancel/Close cliqué, retourne 0 pour arrêter l'énumération.

    Return 1 ;Retour 1 pour continuer l'énumération.
EndFunc   ;==>_EnumWindowsProc