Function Reference

DllCallbackFree

DllCallbackRegisterで作成したハンドルを解放します。

DllCallbackFree ( handle )

 

パラメータ

handle DllCallbackRegisterの呼び出し時に返されるDllCallbackハンドル。

 

返し値

なし。

 

注意

終了時にはAutoItは開かれている全てのハンドルを閉じます。しかしDllCallbackFreeの呼びだしをした方がいいでしょう。

 

関連

DllCall, DllCallbackGetPtr, DllCallbackRegister

 



; コールバック関数を作成
$handle = DLLCallbackRegister ("_EnumWindowsProc", "int", "hwnd;lparam")     

; EnumWindowsを呼ぶ
DllCall("user32.dll", "int", "EnumWindows", "ptr", DllCallbackGetPtr($handle), "lparam", 10)

; コールバック関数を削除
DllCallbackFree($handle)

; コールバックプロシージャ
Func _EnumWindowsProc($hWnd, $lParam)
    If WinGetTitle($hWnd) <> "" And BitAnd(WinGetState($hWnd), 2) Then
        $res = MsgBox(1, WinGetTitle($hWnd), "$hWnd=" & $hWnd & @CRLF & "lParam=" & $lParam & @CRLF & "$hWnd(type)=" & VarGetType($hWnd))
        If $res = 2 Then Return 0   ; キャンセルをクリックすると0を返し、列挙をやめる
    EndIf
    Return 1    ; 1を返し、列挙を続ける
EndFunc