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

  • From: Alasdair King <alasdairking@xxxxxxxxx>
  • To: thunder@xxxxxxxxxxxxx
  • Date: Sun, 16 Aug 2009 20:18:49 +0100

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>



Other related posts: