Summary:
The AccessibleChildren function retrieves the child ID or IDispatch interface of each child within an accessible container object
[DllImport("oleacc.dll")]
public static extern uint AccessibleChildren( IAccessible paccContainer, int iChildStart, int cChildren, [Out] object[] rgvarChildren, out int pcObtained);
Declare Function AccessibleChildren Lib "oleacc.dll" (ByVal paccContainer As IAccessible, ByVal iChildStart As Integer, ByVal cChildren As Integer, <[Out]()> ByVal rgvarChildren() As Object, ByRef pcObtained As Integer) As UInteger
or
<DllImport("oleacc.dll")> _
Function AccessibleChildren(ByVal paccContainer As IAccessible, ByVal iChildStart As Integer, ByVal cChildren As Integer, <[Out]()> ByVal rgvarChildren() As Object, ByRef pcObtained As Integer) As UInteger
End Function
None.
In my opinion the return value should be a signed Integer (or int in c#) not an UInteger or uint.
Please add some!
IAccessible accessible = null;
AccessibleObjectFromWindow(hWnd, (uint) OBJID.WINDOW, ref guid, ref accessible);
Object[] childs = new Object[accessible.accChildCount];
int obtained;
AccessibleChildren(accessible, 0, accessible.accChildCount, childs, out obtained);
The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a SystemAccessibleObject class to access accessible objects, including their children.