I forgot a moment that I updated COM.ahk to incorporate Accessibility. Here is COM.ahk only version.
Code:
;ControlGet, hWnd, hWnd,, ...
MouseGetPos,,,, hWnd, 3
COM_AccInit()
If pacc := COM_AccessibleObjectFromWindow(hWnd)
{
sResult :="[Window]`n"
. "Name:`t`t" COM_Invoke(pacc,"accName",0) "`n"
. "Value:`t`t" COM_Invoke(pacc,"accValue",0) "`n"
. "Description:`t" COM_Invoke(pacc,"accDescription",0) "`n"
Loop, % COM_AccessibleChildren(pacc, COM_Invoke(pacc,"accChildCount"), varChildren)
If NumGet(varChildren,16*(A_Index-1),"Ushort")=3 && idChild:=NumGet(varChildren,16*A_Index-8)
sResult .="[" A_Index "]`n"
. "Name:`t`t" COM_Invoke(pacc,"accName",idChild) "`n"
. "Value:`t`t" COM_Invoke(pacc,"accValue",idChild) "`n"
. "Description:`t" COM_Invoke(pacc,"accDescription",idChild) "`n"
Else If paccChild:=NumGet(varChildren,16*A_Index-8)
sResult .="[" A_Index "]`n"
. "Name:`t`t" COM_Invoke(paccChild,"accName",0) "`n"
. "Value:`t`t" COM_Invoke(paccChild,"accValue",0) "`n"
. "Description:`t" COM_Invoke(paccChild,"accDescription",0) "`n"
, COM_Release(paccChild)
COM_Release(pacc)
}
COM_AccTerm()
MsgBox, % sResult
If this also works, you may try a similar method with
ControlGet, List, using
SendMessage ReadProcessMemory etc, to see if it work too with the
WindowsForms10.LISTBOX.*** control. If so, AHK's
ControlGet may be updated to include this
managed control too.