VBで関数ポインタを呼び出すにはこうすればいいと分かったのですが、
CallWindowProcは引数が4つ余計です。他に良いAPIはありませんか?

Option Explicit

Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Sub main()
Dim adr(2) As Long
adr(0) = AddPtr(AddressOf func0)
adr(1) = AddPtr(AddressOf func1)
adr(2) = AddPtr(AddressOf func2)

Dim i As Long
For i = 0 To 2
Call CallWindowProc(adr(i), 0, 0, 0, 0)
Next i
End Sub

Public Function AddPtr(ByVal Address As Long) As Long
AddPtr = Address
End Function

Public Function func0(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func0"
End Function
Public Function func1(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func1"
End Function
Public Function func2(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func2"
End Function