Erzeugt eine benutzerdefinierte Callback- (Rückruf-)funktion
DllCallbackRegister ( "function", "return type", "params" )
| function | Name der benutzerdefinierten Funktion, die aufgerufen werden soll. |
| return type | Rückgabetyp und Aufrufkonvention der Funktion (siehe DllCall). |
| params | Durch Semikolons getrennte Liste von Parametern, die an die aufgerufene Funktion weitergereicht werden. Siehe Bemerkungen |
| Erfolg: | Gibt das DLL-Handle zurück, welches für DllCallbackGetPtr und DllCallbackFree verwendet werden kann. |
| Fehler: | Gibt 0 zurück, wenn Fehler aufgetreten sind. |
; Erstellt Callback Funktion
Local $handle = DllCallbackRegister("_EnumWindowsProc", "int", "hwnd;lparam")
; EnumWindows aufrufen
DllCall("user32.dll", "int", "EnumWindows", "ptr", DllCallbackGetPtr($handle), "lparam", 10)
; Löscht Callback-Funktion
DllCallbackFree($handle)
; Callback Verfahren
Func _EnumWindowsProc($hWnd, $lParam)
If WinGetTitle($hWnd) <> "" And BitAND(WinGetState($hWnd), 2) Then
Local $res = MsgBox(1, WinGetTitle($hWnd), "$hWnd=" & $hWnd & @CRLF & "lParam=" & $lParam & @CRLF & "$hWnd(type)=" & VarGetType($hWnd))
If $res = 2 Then Return 0 ; Wenn Abbrechen geklickt, Rückgabe 0 zum Stoppen der Aufzählung
EndIf
Return 1 ; Rückgabe 1 um die Aufzählung fortzusetzten
EndFunc ;==>_EnumWindowsProc