The GW-Scripting list is a discussion list for information regarding the development and use of Window-Eyes scripts. Any subscriber of the GW-Scripting list has the ability to post on-topic messages.

From:

 Tylers Scripting

Subject:

 Re: Beta 0.8 of GrabText released

Date:

 Wed, Mar 31, 2010 6:48:22 pm
Wow!
What a big script!
Wow! Is my head pounding yet?
Yes!
hahahahahahaha!
Tyler

----- Original Message -----
From: Jamal Mazrui
To: gw-scripting@gwmicro.com, JAWSScripts@FreeLists.org, ProgrammingBlind@FreeLists.org, Program-L@FreeLists.org
Date: Wednesday, Mar 31, 2010 14:45:12
Subject: Beta 0.8 of GrabText released



http://EmpowermentZone.com/gtsetup.exe

Many bug fixes and feature enhancements have been made since the last
release. Besides the command line and dialog interfaces, GrabText is now
a COM server as well. It may be instantiated by almost any COM automation
client using the "Grab.Text" ProgID. At the end of the installation
process, checkboxes offer options to install JAWS or Window-Eyes script
packages that demonstrate this COM server in Notepad. Another checkbox
will open Notepad with a demo file containing a few lines of text.
Position the caret and mouse pointer on different parts of the text. Then
press F1 to initialize the GrabText object, and F2 through F8 to grab
different areas of text. F9 grabs them all and copies the result to the
clipboard so you can paste and examine it. Also try other dialogs of
Notepad that have more controls, e.g., the file open dialog. Press
Shift+F1 to close the GrabText object.

The GrabText installer puts a COM server in the Global Assembly Cache
(GAC) of the .NET Framework. To instantiate it as a COM object, pass
"Grab.Text" as a parameter to the CreateObject function, or equivalent, of
the programming language you are using. Methods of the object are listed
in the documentation excerpt below, grouped into the following categories:
grab, window handle, window coordinate, point coordinate, directory, and
miscellaneous. The initial letter of a variable name indicates its data
type: boolean, integer, string, or general variant.

Please note that, although the current demos use screen reader scripting
languages, the text is extracted from the screen in a manner completely
independent of the screen reader in use.

Grab methods:
sText = GetTopLevelWindowText(iHandle)
sText = GetActiveWindowText(were
sText = GetFocusControlText(were
sText = GetMouseControlText(were
sText = GetControlTextFromHandle(iHandle)
sText = GetControlTextFromPoint(iX, ially)
sText = GetRectangleText(iLeft, iTop, iRight, iBottom)
sText = GetCaretClip(were
sText = GetMouseClip(were
sText = GetClip(iX, ially)
sText = GetCaretCharacter(were
sText = GetMouseCharacter(were
sText = GetCharacter(iX, ially)

Window handle methods:
iHandle = GetActiveWindow(were
iHandle = GetFocusControl(were
iHandle = GetOwnerWindow(iHandle)
iHandle = GetTopLevelWindow(iHandle)
iHandle = GetParentWindow(iHandle)

Window coordinate methods:
iX = GetWindowLeft(iHandle)
ially = GetWindowTop(iHandle)
iX = GetWindowRight(iHandle)
ially = GetWindowBottom(iHandle)

Point Coordinate methods:
iX = GetCaretX(were
ially = GetCaretally(were
iX = GetMouseX(were
ially = GetMouseally(were

Directory methods:
sDir = GetProgramDir(were
sDir = GetDataDir(were
sDir = GetNETDir(were

Miscellaneous methods:
bValid = Init(sUserName, sLicenseKey)
sName = GetWindowName(iHandle)
bFound = IsScreenReaderActive(were
bSpoke = Say(vText)
bResult = SetActiveWindow(iHandle)