[thunder] Re: Thunder enhancements was: Re: Re: Thunder and Uac.

  • From: Alasdair King <alasdairking@xxxxxxxxx>
  • To: thunder@xxxxxxxxxxxxx
  • Date: Thu, 20 Aug 2009 21:28:05 +0100

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>



Other related posts: