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

  • From: "Serge Tumanyan" <SLTumanyan@xxxxxxxxxx>
  • To: <thunder@xxxxxxxxxxxxx>
  • Date: Mon, 17 Aug 2009 06:38:05 +0400

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>



Other related posts: