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

  • From: "Serge Tumanyan" <SLTumanyan@xxxxxxxxxx>
  • To: <thunder@xxxxxxxxxxxxx>
  • Date: Fri, 21 Aug 2009 00:37:59 +0400

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>



Other related posts: