Hello, Alasdair. Ok, thank you for this great job. With best regards, Serge Tumanyan. ----- Original Message ----- From: "Alasdair King" <alasdairking@xxxxxxxxx> To: <thunder@xxxxxxxxxxxxx> Sent: Friday, August 21, 2009 12:28 AM Subject: [thunder] Re: Thunder enhancements was: Re: Re: Thunder and Uac. > 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> > > > -- 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>