[jawsscripts] Re: getObjectInfoByName

  • From: "Jackie McBride" <abletec@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Mon, 10 Mar 2008 15:30:10 -0700

Dennis & Chad, thanks so much! This is great! I owe u guys 1.

On 3/10/08, Dennis Brown <DennisTBrown@xxxxxxxxxxx> wrote:
> Hi Jackie,
> We created that command, as well as ClickObjectByName specifically because
> of the Windows Live group of applications that have a single window with
> lots of objects scattered throughout, so I'll use the  Windows Live
> Messenger history window as the example here.
> The function takes several parameters, some just empty variables that the
> function populates when it is called, so you have to declare the variables
> used.
> GetObjectInfoByName(1=Handle,2=ObjectName,3=Instance,4=Type, 5=State,
> 6=Value, 7=Description, 8=HotKey, 9=ParentContainer)
> We'll use the following variables to hold the values returned by the
> function:
> var
> int iObjectType,
> int iObjectState,
> string sObjectValue,
> string sDescription,
> string sHotkey,
> string sContainer
> 1. Handle: Handle of window containing the object, such as
> GetAppMainWindow(GetFocus())
> 2. String: Name of the desired object,  such as "History".
> 3. Integer: Instance of the object, for those times where there may be more
> than a single object with the desired name.
> For example, in WLM, there are 2 history windows; the first being the true
> history window, and the second being the tool tip that pops up with the last
> thread of the conversation.  This second history object does not have the
> sender's name, and after it is displayed, the sender's name and the new
> thread is appended to the first history object's value string.  So in this
> case, since there are two objects named "History", we want the first, so we
> use an integer value of 1
> 4. Integer iObjectType: The object's type is returned as an integer value.
> For example, 43=ReadOnly edit, 66=Multilined edit, 1=Button, etc.
> 5. Integer iObjectState: Contain the object's state flags.  This will be a
> combination
> of Control Attribute identifiers defined in HJCONST.JSH.   Here they are:
> ;Control Attribute identifiers
>  CTRL_NONE = 0,
>  CTRL_CHECKED = 1,
>  CTRL_UNCHECKED = 2,
>  CTRL_GRAYED = 4,
>  CTRL_DISABLED = 8,
>  CTRL_SUBMENU = 16,
>  CTRL_PRESSED = 32,
>  CTRL_OPENED=64,
>  CTRL_CLOSED=128,
>  CTRL_SELECTED=256,
>  CTRL_SINGLELINE=512,
>  CTRL_MULTILINE=1024,
>  CTRL_EXPANDED=2048,
>  CTRL_COLLAPSED=4096,
>  CTRL_HASCHILDREN=8192,
>  CTRL_VISITED=0x4000,
>  CTRL_Indeterminate=0x8000,
>  CTRL_PARTIALLY_CHECKED = 32770,
> 6. String sObjectValue contains the value string of the object.  In the
> History object, it will be the entire conversation, with the sender name and
> threads separated by carriage returns characters.
> 7. Optional: String sDescription is the object's description string returned
> by the function.
> 8. Optional: String sHotkey, if it has one, otherwise it is an empty string.
> 9. Optional: String sContainer is he object that contains the object
> desired, or the parent object.
>
> Here is an example of retrieving the value string of the WLM History object,
> then announcing the last thread sent.
> Since the function itself returns a true if the object was found, and a
> false if not, we'll check for that first:
>
> Function AnnounceLastThread()
> var
> int iType,
> int iState,
> string sValue,
> string sSender,
> string sThread
> If !GetObjectInfoByName(GetAppMainWindow(GetFocus()),"History",
> 1,iType,iState,sValue) Then
>     Say("Object not found.",ot_error)
>     Return
> EndIf
> ; Found it, so grab the last and second to the last strings, delimited by
> return characters...
> let sSender=StringSegmentIndex(sValue,"\r",-2)
> let sThread=StringSegmentIndex(sValue,"\r",-1)
> ; Now announce those puppies...
> Say(sSender,ot_screen_message)
> Say(sThread,ot_screen_message)
> EndFunction
> So if you had just sent a message, telling the  person to go soak their
> head, the function would cause Jaws to say:
>
> Jackie says:
> Go soak your head.
>
> Hope this helps!
> Thanks,
> Dennis Brown
> ----- Original Message -----
> From: "Jackie McBride" <abletec@xxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Monday, March 10, 2008 12:15 AM
> Subject: [jawsscripts] getObjectInfoByName
>
>
> > Could some1 please give me a code snippet of how to use this? This
> > object stuff is about 2 drive me bats.
> >
> > --
> > Jackie McBride
> > Please join my fight against breast cancer
> > <http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3489>
> > & Check out my homepage at:
> > www.abletec.serverheaven.net
> > __________
> > View the list's information and change your settings at
> > //www.freelists.org/list/jawsscripts
> >
> >
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>
>


-- 
Jackie McBride
Please join my fight against breast cancer
<http://teamacs.acsevents.org/site/TR?px=1790196&pg=personal&fr_id=3489>
& Check out my homepage at:
www.abletec.serverheaven.net
__________ 
View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: