[jawsscripts] Re: Query on Doug's bx Toolbox?

  • From: Doug Lee <doug.lee@xxxxxxxxxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Fri, 23 Jul 2010 07:46:20 -0400

There are ways to do this, but I think there's a larger problem:  In
many applications, there's no guarantee that the window tree at one
instant will be the same at another instant.  A window will not change
class, but windows can be added to and removed from the tree at
various times, or the tree can be built differently or sorted
differently based on various factors.

As for how to do it though, the EnumerateChildWindows idea would work.
You don't really need to sort the windowclasses though, because I
think you're just looking for duplicates of one class at a time.  Just
use your callback function to check each window's class against the
one you're looking for.  If you want to write a function to check for
this and just return a count of class duplicates, use a global
variable for the count, clear it in your main function, increment it
when appropriate in your callback function, then return it from your
main one.

On Fri, Jul 23, 2010 at 07:36:56AM -0400, Homme, James wrote:
Hi Geoff,
The only way I can think of right now is to get the handle for the application 
main window, and loop through every window with enumerate child windows and 
check to see if a class repeats. This is untested, but maybe it would work. 
Make a global array of strings. write a call back function that simply adds the 
class of the handle of the window that enumerate child windows passes to it. 
When enumerate child windows is done, your global string array will contain the 
classes of all the windows in the application. Unfortunately I don't see 
anything that sorts an array, then you could use string compare to point at two 
indexes and compare them to see if the values they point to are equal. But I 
guess you could point at the first element of the array and then loop through 
the second through the last and see if any of those classes equal the first. If 
not, point to the second index and loop starting with the third. Then loop 
starting with the third pointing to the fourth. And each ti
 me you look through classes, the loop would be shorter. And finally, you'd 
either find two classes that are equal, or you'd be finished looping.

Jim
Jim Homme,
Usability Services,
Phone: 412-544-1810. Skype: jim.homme
Internal recipients,  Read my accessibility blog. Discuss accessibility here. 
Accessibility Wiki: Breaking news and accessibility advice


-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx 
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Geoff Chapman
Sent: Friday, July 23, 2010 1:23 AM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Queery on Doug's bx ToolBox?

Scripters, can anyone tell me if there is a way, either without, or with, 
doug's Bx ToolBox installed, of asking the application quickly and easily,
if any other windows, have a particular class?
i.e. if  a window doesn't have a name, that is, it's blank, and I wana use 
findWindow to locate it uniquely, and so I'm restricted to class as the only 
uniquely identifying attribute of the window being searched for,
I just thought it'd be rather handy for me to easily be able to find out, if 
any other visible/non-disabled windows in the application, or even perhaps any 
of them, might have the same class? such that I might predetermine whether 
searching for a window with a given className only, might fail in unforseen 
circumstances?
thanks for any thoughts.

Geoff c.



__________???

View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts


This e-mail and any attachments to it are confidential and are intended solely 
for use of the individual or entity to whom they are addressed.  If you have 
received this e-mail in error, please notify the sender immediately and then 
delete it.  If you are not the intended recipient, you must not keep, use, 
disclose, copy or distribute this e-mail without the author's prior permission. 
 The views expressed in this e-mail message do not necessarily represent the 
views of Highmark Inc., its subsidiaries, or affiliates.
__________???

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

-- 
Doug Lee, Senior Accessibility Programmer
SSB BART Group - Accessibility-on-Demand
mailto:doug.lee@xxxxxxxxxxxxxxxx  http://www.ssbbartgroup.com
"While they were saying among themselves it cannot be done,
it was done." --Helen Keller
__________�

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: