--- In [email protected], "Sheri" <sheri...@...> wrote:
>
> FWIW, below is what I get on XP for Word Menu bar and its 13 children. 
> Showing only self (child 0) and child 1 because all of the other children 
> look exactly the same as child 1. Below that are self (child 0) and child 1 
> of wordpad OBJID_MENU's six children. At the bottom is the script function 
> that produced the output. All are property-gets except one function 
> (functions do not work period and property gets are very spotty, and no 
> facility to translate the role or state).
 
> Get_Accessible_Object of WinWord OBJID_MENU: c_3000
> ================

> Children of Main WinWord menu C_3000

......<snip>......

> child 1

> ----------------
>  Name:  // com_type: com_status: ERROR: com.method: Invoke failed  (sys code 
> 80020009: "Exception occurred.")

hao.accName could return an exception if the UI item in question had no name.  
Maybe.  Nameless UI elements are quite common, but what happens when accName 
hits one, I dunno.  Can;t find docs on that.

What does Accessibility Explorer give as names for children that cause 
exceptions?

>  Handle via function:  // com_type: com_status: ERRORS: com.method: Can't 
> interrogate object  (sys code 80020006: "Unknown name.")

accChild(i) will always return an exception if the child is not a full
IAccessible object, i.e. if it's not associated with an IDispatch.

http://msdn.microsoft.com/en-us/library/dd318475%28VS.85%29.aspx

>  State: 1073741824 // com_type: com_status: OK
>  Default Action:  // com_type: com_status: ERROR: com.method: Invoke failed  
> (sys code 80020009: "Exception occurred.")

Quite common for an object not to have a default action.

comPlugin0.72_100302.zip adds the following options to
get_object_description:

 "hidden", "i"  ;; show hidden funcs
 "restricted", "e"   ;; show restricted funcs

;following require Child Id after options
 "state",  "s"  ;; return state of an IAccessible 
 "role",  "r"  ;; return role of an IAccessible
 "name",  "n"  // if not followed by childId, taken to be usual meaning, name 
of object, not name of

I can also modify get_accessible_child to have a version taking
one integer argument, which would return handle to IAccessible child if there 
was one, otherwise return null string?

Oh, went back and looked: I've been including oleacc.h all along for #defines, 
just not linking to oleacc.lib




Reply via email to