Obtient le pointeur sur une fonction callback qui peut être transmis à l'API Win32.
DllCallbackGetPtr ( handle )
handle | Le handle DllCallback retourné par DllCallbackRegister(). |
Succès: | Retourne le pointeur sur la fonction callback. |
Échec: | Retourne 0. |
DllCall, DllCallbackFree, DllCallbackRegister
#include <MsgBoxConstants.au3> ; Crée une fonction callback. Local $hHandle = DllCallbackRegister("_EnumWindowsProc", "int", "hwnd;lparam") ; Appelle EnumWindows. DllCall("user32.dll", "int", "EnumWindows", "ptr", DllCallbackGetPtr($hHandle), "lparam", 10) ; Supprime la fonction callback. DllCallbackFree($hHandle) ; Procédure callback 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