OK, I understand. I'll schedule this to get done, but it will take several weeks. If I haven't delivered anything by mid-September, give me a kick by email. Cheers, Alasdair On Mon, Aug 17, 2009 at 3:38 AM, Serge Tumanyan<SLTumanyan@xxxxxxxxxx> wrote: > Hello, Alasdair. > > Excellent! > > Here are some ideas about the EnumChildWindows function. I am not very well > familiar with the limitations of VBS, so my suggestions may be a bit strange. > 1. May be it is possible to pass a function name as a simple string in > opposite to C++? This way was used in JAWS scripts for example... > 2. The suggestion you have - to get an array of functions is also quite > usable - so if number 1 is not possible it will be good. > > If we are talking about the menus - it is a good method to create a menu for > user settings for the script, though it is surely not a must. So if it will > not take too much time it will be good if it will take a lot of time - it is > a bad idea and you can forget about it. > > Thank you for such a great job! > > With best regards, > Serge Tumanyan. > ----- Original Message ----- > From: "Alasdair King" <alasdairking@xxxxxxxxx> > To: <thunder@xxxxxxxxxxxxx> > Sent: Sunday, August 16, 2009 11:18 PM > Subject: [thunder] Re: Thunder enhancements was: Re: Re: Thunder and Uac. > > >> OK, I've added these functions: >> GetWindow >> CreateWindowEx >> IsWindowVisible >> CloseWindow >> DestroyWindow >> ShowWindow >> GetParent >> >> EnumChildWindows is a bit tricky. I don't think, through scripting, >> you'll be able to pass a handle to a function, which is required for >> EnumChildWindows. Might need to provide an array of child windows >> through an amended function - or something. Any thoughts? >> >> The menu creation - can you fill me in a bit on what that's for? >> Because I'm not sure how best to implement it, if it can be done. >> >> Same URL as before, should just update your installed version. In case >> it doesn't, you should be at version 1.1. >> http://download.webbie.org.uk/AccessScripting.msi >> >> Best wishes, >> Alasdair >> >> On Thu, Aug 6, 2009 at 8:39 AM, Serge Tumanyan<SLTumanyan@xxxxxxxxxx> wrote: >>> Hello, Alasdair. >>> >>> I also would like to see the wrapper for the following functions if >>> possible of course: >>> GetWindow, >>> CreateWindowEx, >>> CloseWindow, >>> DestroyWindow, >>> EnumChildWindows, >>> GetParent or GetAnsistor, >>> IsWindowVisible, >>> ShowWindow, >>> and several functions for creating menus, like CreateMenu, >>> AppendMenu, >>> CreatePopupMenu, >>> DeleteMenu, >>> DestroyMenu, >>> GetMenu, >>> GetMenuItemCount, >>> InsertMenuItem or InsertMenu, >>> IsMenu, >>> SetMenu, >>> TrackPopupMenuEx, >>> >>> Even if you will realise only a small part of these function wrappers - >>> this will be excellent. >>> >>> Really great job! >>> >>> Thank you. >>> >>> With best regards, >>> Serge Tumanyan. >>> ----- Original Message ----- >>> From: "Alasdair King" <alasdairking@xxxxxxxxx> >>> To: <thunder@xxxxxxxxxxxxx> >>> Sent: Wednesday, August 05, 2009 10:51 AM >>> Subject: [thunder] Re: Thunder enhancements was: Re: Re: Thunder and Uac. >>> >>> >>>> Dear Serge, Roger and All, >>>> >>>> I've developed a scripting component for Thunder that permits some of >>>> the API and MSAA access that Serge has requested. At the moment it's a >>>> standalone install, but if we can all agree its features I'll build it >>>> into the Thunder installer so you can be sure it's available to >>>> Thunder scripts. I've called it AccessScripting. The documentation is >>>> at the end of this email, and there is sample code in the component >>>> installation folder. >>>> >>>> I've also updated and corrected the Thunder scripting manual. >>>> >>>> You can download the scripting component here: >>>> http://download.webbie.org.uk/AccessScripting.msi >>>> And the manual: >>>> http://download.webbie.org.uk/Thunder%20Scripting%20Manual%202009%20July%2031.doc >>>> >>>> Instructions follow. Best wishes, Alasdair King (Skype Alasdairking) >>>> >>>> http://download.webbie.org.uk/AccessScripting.msi >>>> >>>> AccessScripting DLL 1.0 >>>> 31 July 2009 >>>> Alasdair King >>>> alasdair@xxxxxxxxxxxxx >>>> >>>> This allows you to call the Windows API for MSAA and other >>>> accessiblity information from VBScript. You can also include it as a >>>> reference in VB6 programs to provide a convenient way to call these >>>> functions. This document will assume you're using VBScript (i.e. that >>>> you're scripting the Thunder screenreader.) >>>> >>>> The functions are all the standard Microsoft functions, so their >>>> purpose and operation is not detailed here. Look at MSDN. Some of them >>>> are amended for operation from VB Script. >>>> >>>> There are two VB Script files in this distribution: check those out >>>> for examples of how to use the DLL. They are CurrentWindowTitle.vbs >>>> and WhatIsAtPosition.vbs. >>>> >>>> INSTALLATION >>>> >>>> You must register AccessScripting.dll using regsvr32 or use Windows >>>> installer to make the appropriate registry entries. >>>> >>>> USAGE >>>> >>>> Dim acc >>>> Set acc = CreateObject("AccessScripting.AccessObj") >>>> >>>> You can then use the AccessObj functions detailed below. Most wrap the >>>> usual Windows API function with the same name, like >>>> GetForegroundWindow: it returns the window handle using the >>>> GetForegroundWindow API call and returns you the value. However, >>>> because VBScript is not strongly typed, any function that takes >>>> arguments, like AccessibleObjectFromWindow, can't use the usual >>>> declaration. For these functions I have provided a "VBS" version, >>>> which will work slightly differently from the API norm. >>>> >>>> COMPLETE LIST OF FUNCTIONS >>>> >>>> Some of these work fine from VB Script as-is. The exceptions have >>>> VBScript versions, see below. >>>> >>>> AccessibleObjectFromPoint >>>> AccessibleObjectFromWindow >>>> FindWindowEx >>>> GetClassName >>>> GetDesktopWindow >>>> GetFocus >>>> GetForegroundWindow >>>> GetRoleText >>>> GetWindowText >>>> PostMessage >>>> SendMessage >>>> SetFocus >>>> >>>> VBSCRIPT VERSIONS OF FUNCTIONS >>>> >>>> Where a VBScript version exists, it has the same name as the normal >>>> API function with the three letters VBS appended to it. Some of the >>>> arguments are different, however. >>>> >>>> AccessibleObjectFromPointVBS (x,y) >>>> Returns the IAccessible object (if available) from the point provided >>>> in x and y. There is no way to get the child variant at present. >>>> >>>> AccessibleObjectFromWindowVBS (hWnd) >>>> Returns the IAccessible object (if available) from the window provided >>>> in hWnd. There is no way to get the child variant at present. >>>> >>>> FindWindowExVBS (hwndParent, hwndChildAfter, lpszClass, lpszWindow) >>>> As normal. >>>> >>>> GetClassNameVBS (hWnd) >>>> Returns the ClassName (e.g. "Notepad" for notepad.exe) specified by >>>> the window handle. >>>> >>>> PostMessageVBS (hWnd, wMsg, wParam, lParam) >>>> As normal. >>>> >>>> SendMessageVBS (hWnd, wMsg, wParam, lParam) >>>> As normal. >>>> >>>> DEBUGGING >>>> >>>> There is one non-Windows function to help with debugging: >>>> >>>> DebugPrint (s) >>>> Writes string s to a text file on your desktop called >>>> accessscript.log. Creates if necessary, appends otherwise. >>>> >>>> -- >>>> Alasdair King >>>> -- >>>> Thunder Screen Reader e-mail list. >>>> To find out more about Thunder Screen Reader:- >>>> <http://www.screenreader.net/> >>>> To unscubscribe from the list, click on the link below:- >>>> [mailto:thunder-request@xxxxxxxxxxxxx?subject=unsubscribe] >>>> If the above link doesn't work, send a blank message to:- >>>> <thunder-request@xxxxxxxxxxxxx> >>>> With unsubscribe in the subject field. >>>> The list Archives can be found at:- >>>> <//www.freelists.org/archives/thunder/> >>>> To e-mail the moderators send a message to: >>>> <thunder-moderators@xxxxxxxxxxxxx> >>>> >>>> >>>> >>> -- >>> Thunder Screen Reader e-mail list. >>> To find out more about Thunder Screen Reader:- >>> <http://www.screenreader.net/> >>> To unscubscribe from the list, click on the link below:- >>> [mailto:thunder-request@xxxxxxxxxxxxx?subject=unsubscribe] >>> If the above link doesn't work, send a blank message to:- >>> <thunder-request@xxxxxxxxxxxxx> >>> With unsubscribe in the subject field. >>> The list Archives can be found at:- >>> <//www.freelists.org/archives/thunder/> >>> To e-mail the moderators send a message to: >>> <thunder-moderators@xxxxxxxxxxxxx> >>> >>> >>> >>> >> >> >> >> -- >> Alasdair King >> -- >> Thunder Screen Reader e-mail list. >> To find out more about Thunder Screen Reader:- >> <http://www.screenreader.net/> >> To unscubscribe from the list, click on the link below:- >> [mailto:thunder-request@xxxxxxxxxxxxx?subject=unsubscribe] >> If the above link doesn't work, send a blank message to:- >> <thunder-request@xxxxxxxxxxxxx> >> With unsubscribe in the subject field. >> The list Archives can be found at:- >> <//www.freelists.org/archives/thunder/> >> To e-mail the moderators send a message to: >> <thunder-moderators@xxxxxxxxxxxxx> >> >> >> > -- > Thunder Screen Reader e-mail list. > To find out more about Thunder Screen Reader:- > <http://www.screenreader.net/> > To unscubscribe from the list, click on the link below:- > [mailto:thunder-request@xxxxxxxxxxxxx?subject=unsubscribe] > If the above link doesn't work, send a blank message to:- > <thunder-request@xxxxxxxxxxxxx> > With unsubscribe in the subject field. > The list Archives can be found at:- > <//www.freelists.org/archives/thunder/> > To e-mail the moderators send a message to: <thunder-moderators@xxxxxxxxxxxxx> > > > > -- Alasdair King -- Thunder Screen Reader e-mail list. To find out more about Thunder Screen Reader:- <http://www.screenreader.net/> To unscubscribe from the list, click on the link below:- [mailto:thunder-request@xxxxxxxxxxxxx?subject=unsubscribe] If the above link doesn't work, send a blank message to:- <thunder-request@xxxxxxxxxxxxx> With unsubscribe in the subject field. The list Archives can be found at:- <//www.freelists.org/archives/thunder/> To e-mail the moderators send a message to: <thunder-moderators@xxxxxxxxxxxxx>