Use one of the tools mentioned (and not mentioned): WinDig, WinInspector and, the one I use, Spy++ from the Visual Studio SDK. V Geoff Chapman wrote: > Ok Victor, I'll bite. How, does one Catch/watch for wm_command messages > whilst executing menu commands, in order to obtain these magic resource > ID's, of which you speak so confidently. <grin.> > geoff c. > ----- Original Message ----- > From: "Victor Tsaran" <vtsaran@xxxxxxxxx> > To: <jawsscripts@xxxxxxxxxxxxx> > Sent: Wednesday, December 24, 2008 1:02 PM > Subject: [jawsscripts] Re: Searching menu structures for a particular menu > item > > >> You could also access menu items if you know a particular item's >> resource ID. You can catch these IDs by either watching for WM_COMMAND >> messages when executing menu items of interest or by hooking directly >> into resource table through whatever tools, like resource hacker. >> >> Bryan Garaventa wrote: >>> This is copied from one of my prior scripts. >>> >>> SpeechOff () >>> >>> var object o, int cid, >>> >>> string stv, handle gw >>> >>> {alt+o} >>> >>> Pause () >>> >>> let o = GetObjectAtPoint (cid, GetCursorCol (), GetCursorRow ()) >>> >>> o.accDoDefaultAction(6) >>> >>> Pause () >>> >>> ; ... script continues with SpeachOn(), etc. >>> >>> >>> The only way I was able to make this work, was by first manually > activating >>> the menu, so Doug is right, I believe it does have to be visible first. >>> >>> >>> ----- Original Message ----- >>> From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx> >>> To: <jawsscripts@xxxxxxxxxxxxx> >>> Sent: Tuesday, December 23, 2008 1:05 PM >>> Subject: [jawsscripts] Re: Searching menu structures for a particular > menu >>> item >>> >>> >>>> Come to think of it, this probably won't really help much after all. >>>> You can find menus and menu items in MSAA, but I don't think you can >>>> activate a menu option without first making it visible on screen. I >>>> believe the menuItem codes mentioned earlier in this thread, locatable >>>> with WinDig, would allow you to execute menu items. The JAWS >>>> SendMessage function should let you do that without AutoIt though. >>>> >>>> As far as sample code, there was some in the Skype scripts, probably in >>>> SkypeUtil.jsl; but I don't think it's there anymore. I don't have to >>>> do this very often. >>>> >>>> On Tue, Dec 23, 2008 at 03:58:27PM -0500, Andy Borka wrote: >>>> Hi. Do you have any example code that searches for particular menu > items? >>>> How do you deal with the top level menus in the menu bar (telling what > one >>>> is what)? >>>> >>>> >>>> Twitter: www.twitter.com/sonfire >>>> >>>> >>>> -----Original Message----- >>>> From: jawsscripts-bounce@xxxxxxxxxxxxx >>>> [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Doug Lee >>>> Sent: Tuesday, December 23, 2008 2:50 PM >>>> To: jawsscripts@xxxxxxxxxxxxx >>>> Subject: [jawsscripts] Re: Searching menu structures for a particular > menu >>>> item >>>> >>>> It's a bit more involved than I can recall or fully describe here, but >>>> here are the main ingredients I remember: >>>> >>>> 1. Get the menubar object with >>>> GetObjectFromEvent(getTopLevelWindow(getFocus()), ObjID_Menu, 0, > childID). >>>> ChildID is a placeholder. >>>> >>>> 2. The menubar's items will be indexable by childIDs starting at 1, >>>> so for "File View Window Help," "Window" should be o.accName(3). To >>>> get its object, do o.accChild(3). You can of course search through >>>> these with a loop that runs from 1 through o.accChildCount inclusive. >>>> >>>> 3. A menubar item has one child in MSAA: The pop-up menu associated > with >>>> it. >>>> To get that, do .accChild(1) on what you got in the previous step. >>>> >>>> 4. The menu you now have has menu items much like the menubar did, >>>> each with its own pop-up menu where applicable. Start again at step 2 >>>> to search deeper. >>>> >>>> Tip: JAWS now has functions that search MSAA object trees for names. >>>> If this works for menu hierarchies, and depending on your needs once >>>> you find something, that may significantly decrease the level of >>>> effort required for your situation. >>>> >>>> On Tue, Dec 23, 2008 at 02:37:38PM -0500, Jamal Mazrui wrote: >>>> There is not a way to do this natively through JAWS, except possibly by >>>> searching the MSAA hierarchy associated with a menu. I don't know how >>>> to do that, but Doug Lee might .... >>>> >>>> If you are willing to install a free COM server, AutoIt, >>>> http://AutoItScript.com >>>> >>>> includes the method documented below. Another approach is to get the > ID >>>> of the menu item of interest via WinDig >>>> http://EmpowermentZone.com/wdsetup.exe >>>> and invoke it with a PostMessage call. >>>> >>>> Jamal >>>> >>>> >>>> WinMenuSelectItem >>>> >>>> >>>> Invokes a menu item of a window. >>>> >>>> WinMenuSelectItem "title", "text", "item" [, "item" [, "item" [, "item" >>>> [, >>>> "item" [, "item" [, "item"]]]]]] >>>> >>>> >>>> Parameters >>>> titleThe title of the window to read. >>>> textThe text of the window to read. >>>> itemText of Menu Item >>>> item(optional) Text of SubMenu item >>>> item(optional) Text of SubMenu item >>>> item(optional) Text of SubMenu item >>>> item(optional) Text of SubMenu item >>>> item(optional) Text of SubMenu item >>>> item(optional) Text of SubMenu item >>>> >>>> >>>> Return Value >>>> Success:Returns 1. >>>> Failure:Returns 0 if the menu could not be found. >>>> >>>> >>>> Remarks >>>> You should note that underlined menu items actually contain a & >>>> character to >>>> indicate the underlining. Thus, the menu item File would actually >>>> require the >>>> text "&File", and Convert would require "Con&vert" You can access menu >>>> items >>>> up to six levels deep; and the window can be inactive, minimized, > and/or >>>> even >>>> hidden. >>>> >>>> WinMenuSelectItem will only work on standard menus. Unfortunately, many >>>> menus >>>> in use today are actually custom written or toolbars "pretending" to be >>>> menus. >>>> This is true for most Microsoft applications. >>>> >>>> >>>> Related >>>> ControlCommand, Send >>>> >>>> Example >>>> Set oAutoIt = WScript.CreateObject("AutoItX3.Control") >>>> >>>> ' This will select File, Page Setup in notepad >>>> oAutoIt.WinMenuSelectItem "Untitled - ", "", "&File", "Page Set&up..." >>>> >>>> On >>>> Tue, 23 Dec >>>> 2008, Andy Borka wrote: >>>> >>>>> Date: Tue, 23 Dec 2008 08:35:46 -0500 >>>>> From: Andy Borka <andy@xxxxxxxxxxxxxxxxxxx> >>>>> Reply-To: jawsscripts@xxxxxxxxxxxxx >>>>> To: jawsscripts@xxxxxxxxxxxxx >>>>> Subject: [jawsscripts] Searching menu structures for a particular menu >>>>> item >>>>> >>>>> I have a particular menu structure that I need to search through in > order >>>> to >>>>> get to a particular menu item. I know the text on the menu item I want > to >>>>> find but the placement of the menu items change depending on what > "view" >>>> you >>>>> are on in the program. How would I go about searching for and then >>>>> activating the menu item (or giving an error message if it can't be >>>> found)? >>>>> Twitter: www.twitter.com/sonfire >>>>> >>>>> >>>>> >>>>> >>>>> __________? >>>>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>>>> View the list's information and change your settings at >>>>> http://www.freelists.org/list/jawsscripts >>>>> >>>> __________? >>>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>>> 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 >>>> __________ >>>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>>> View the list's information and change your settings at >>>> http://www.freelists.org/list/jawsscripts >>>> >>>> >>>> __________? >>>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>>> 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 >>>> __________ >>>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>>> View the list's information and change your settings at >>>> http://www.freelists.org/list/jawsscripts >>>> >>>> >>>> _______________________________________ >>>> No viruses found in this incoming message >>>> Scanned by iolo AntiVirus 1.5.6.3 >>>> http://www.iolo.com >>>> >>> __________ >>> Visit and contribute to The JAWS Script Repository > http://jawsscripts.com >>> View the list's information and change your settings at >>> http://www.freelists.org/list/jawsscripts >>> >>> >> __________ >> Visit and contribute to The JAWS Script Repository http://jawsscripts.com >> >> View the list's information and change your settings at >> http://www.freelists.org/list/jawsscripts >> > > __________ > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > > __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at http://www.freelists.org/list/jawsscripts