Hello all,

I made some mistakes in my last message so I am sending it again.
--------------------------------------------------
Hello all,

I use WLM as my e-mail client on a Windows 8.1 machine and WE 9.5.4. I had

no trouble with this client until just over a month ago. Since then, I get a

script error message after sending out an e-mail message.I get four choices:

ignore error, stop App, edit App or restart App. I have to choose the last

option if I want to continue using WLM. However, WLM doesn't function

properly unless I either reload WE or get out of WLM and then go back in.


I hope someone can suggest a remedy for this problem. For those who

understand script writing (which I don't), I include a copy of the script

which is supposed to be re-edited.

------------------------------------------------------------

' For license information, see WindowsLiveMail License.txt which ships with

this package.

Option Explicit


Dim myXMLFile : myXMLFile = ClientInformation.ScriptPath &

"\WindowsLiveMail.xml"

Dim myINIFile : myINIFile = ClientInformation.ScriptPath &

"\WindowsLiveMail.ini"

Dim myStrings : Set myStrings = Strings(myXMLFile)

Dim myScriptUpdateURL : myScriptUpdateURL =

"
http://www.gwmicro.com/scripts/windows_live_mail/xml
"

Dim checkedForUpdates : checkedForUpdates = False

Dim errorReportingEnabled : errorReportingEnabled = False

Dim SO_StandardHelpDialog : Set SO_StandardHelpDialog = Nothing

Dim SO_CheckForUpdate : Set SO_CheckForUpdate = Nothing

Dim SO_ErrorReporting : Set SO_ErrorReporting = Nothing

Dim fsObj : Set fsObj = CreateObject("Scripting.FileSystemObject")


Dim messageWindow : Set messageWindow = Nothing

Dim setFileActiveEvent : setFileActiveEvent = 0

Dim lastSpoken : lastSpoken = ""

Dim blockedFocusEvent : Set blockedFocusEvent = Nothing

Dim msaaFocusEvent : msaaFocusEvent = 0

Dim myMSAAEventSource : Set myMSAAEventSource = Nothing

Dim contactHwnd : contactHwnd = 0

Dim fieldDataEvent : fieldDataEvent = 0


Dim myMoveMessageHotkey : Set myMoveMessageHotkey = Nothing

Dim myKeyDownEvent : myKeyDownEvent = 0

Dim keyProcessedDownEventForBraille : keyProcessedDownEventForBraille = 0

Dim myBrailleObj : Set myBrailleObj = Nothing

Dim firstLetterNavStr : firstLetterNavStr = ""

Dim keyPressTimer : keyPressTimer = 0


Const TIMER_AUTOCOMPLETE = 1000

Const GRAPHIC_PREFIX = "GRAPHIC_"


Class MessageWindowClass

   Private toField

   Private autoCompleteSelected

   Private myMSAAEventSource

   Private autoCompleteEntries

   Private myHotkeys

   Private messageWindow

   Private msaaEvents

   Private timers

   Private startTimerProxy

   Private hotkeyProxy

   Private msaaEventProxy


   Public Sub Class_Initialize()


       ' Begin

       Set toField = Nothing

       Set autoCompleteSelected = Nothing

       Set myMSAAEventSource = MSAAEventSource

       Set autoCompleteEntries = CreateObject("Scripting.Dictionary")

       Set myHotkeys = CreateObject("Scripting.Dictionary")

       Set msaaEvents = CreateObject("Scripting.Dictionary")

       Set timers = CreateObject("Scripting.Dictionary")

       Set startTimerProxy = (New SingleParameterProxyClass).Init(Me,

"TimerProc")

       Set hotkeyProxy = (New DualParameterProxyClass).Init(Me,

"HotkeyProc")

       Set msaaEventProxy = (New DualParameterProxyClass).Init(Me,

"MSAAProc")

   End Sub


   Public Function Init(wObj, newMessage)

       ' Begin

       Set messageWindow = wObj

       RegisterHotkeys wObj

       ' We only need to hook events for new messages

       myMSAAEventSource.Window = messageWindow

       If newMessage Then

           msaaEvents(msaaEvents.Count + 1) =

ConnectEventWithParameter(myMSAAEventSource, "OnObjectFocus",

msaaEventProxy, event_OBJECT_FOCUS)

           msaaEvents(msaaEvents.Count + 1) =

ConnectEventWithParameter(myMSAAEventSource, "OnObjectStateChange",

msaaEventProxy, event_OBJECT_STATECHANGE)

       Else

           msaaEvents(msaaEvents.Count + 1) =

ConnectEventWithParameter(myMSAAEventSource, "OnObjectReorder",

msaaEventProxy, event_OBJECT_REORDER)

       End If

       Set Init = Me

   End Function


   Private Sub RegisterHotkeys(wObj)

       Dim i


       ' Begin

       For i = 1 to 7

           Set myHotkeys("myAlt" & i & "HotKey") =

Keyboard.RegisterHotkey("Alt-" & i, hotkeyProxy, wObj, i, True)

       Next

   End Sub


   Public Sub HotkeyProc(hotkeyID, firstPress)

       Dim accObj, noteWindow, searchStr, result, location, speakStr, match


       ' Begin

       Set accObj = ActiveWindow.Accessible

       Set noteWindow = Nothing

       Set location = Nothing

       Set result = Nothing

       searchStr = ""

       speakStr = ""

       match = fmExact


       If Not accObj Is Nothing Then

           Set noteWindow = GetAccessibleByName(accObj.Children,

"NoteWindow", fmExact)

           If Not noteWindow Is Nothing Then

               Select Case hotkeyID

                   Case 1 ' Alt-1: From

                       searchStr = myStrings("MSG_FIELDS_FROM")

                   Case 2 ' Alt-2: Date

                       searchStr = myStrings("MSG_FIELDS_DATE")

                   Case 3 ' Alt-3: To

                       searchStr = myStrings("MSG_FIELDS_TO")

                   Case 4 ' Alt-4: CC

                       searchStr = myStrings("MSG_FIELDS_CC")

                   Case 5 ' Alt-5: BCC

                       searchStr = myStrings("MSG_FIELDS_BCC")

                   Case 6 ' Alt-6: Subject

                       searchStr = myStrings("MSG_FIELDS_SUBJECT")

                   Case 7 ' Alt-7: Attachment'

                       searchStr = "("

'myStrings("MSG_FIELDS_ATTACHMENT_STRING")

                       match = fmContains

               End Select


               If Len(searchStr) > 0 Then

                   Set result = GetAccessibleByName(noteWindow.Children,

searchStr, match)

                   If Not result Is Nothing Then

                       If hotkeyID = 7 Then

                           speakStr = result.Name

                       ElseIf hotkeyID = 1 Then

                           speakStr = result.Value & " " &

result.Description

                       Else

                           speakStr = result.Value

                       End If

                       Set location = result.Location

                   Else

                       speakStr = myStrings("NO") & " "

                       If hotkeyID = 7 Then

                           speakStr = speakStr &

myStrings("MSG_FIELDS_ATTACHMENT_STRING")

                       Else

                           speakStr = speakStr & searchStr

                       End If

                   End If

               End If

           End If

       End If


       If firstPress Then

           Silence

           MySpeak speakStr

       Else

           If Not location Is Nothing Then

               Mouse.Position = ScreenPoint(location.Left, location.Top)

               Mouse.Click mbLeft, 1

           End If

       End If


   End Sub


   Public Default Sub MSAAProc(accObj, eventID)

       Dim accRole : Set accRole = Nothing

       Dim accState : Set accState = Nothing


       ' Begin

       If Not accObj Is Nothing Then

           On Error Resume Next

           Set accRole = accObj.Role

           Set accState = accObj.State

           On Error Goto 0


           Select Case eventID

               Case event_OBJECT_REORDER

                   If Left(accObj.Value, Len("wlmailhtml:{")) =

"wlmailhtml:{" Then

                       If Not accRole Is Nothing Then

                           If accRole.Value = role_SYSTEM_PANE Then

                               If Not accState Is Nothing Then

                                   If accState.Focused And

accState.ReadOnly Then

                                       If BrowseMode.State = bmsActive Then

'bmsEnabled

                                           Sleep 100

                                           ExecuteHotkey hkRedraw

                                       End If

                                   End If

                               End If

                           End If

                       End If

                   End If

               Case event_OBJECT_FOCUS

                   If Not accRole Is Nothing Then

                       If accRole.Value = role_SYSTEM_TEXT Then

                           If accObj.Name = myStrings("MSG_FIELDS_TO") Then

                               Set toField = accObj

                           End If

                       End If

                   End If

               Case event_OBJECT_STATECHANGE

                   If Not accRole Is Nothing Then

                       If accRole.Value = role_SYSTEM_LISTITEM Then

                           If Not accState Is Nothing Then

                               If accState.Selected Then

                                   Set autoCompleteSelected = accObj

                                   If timers.Exists(TIMER_AUTOCOMPLETE)

Then

                                       If timers(TIMER_AUTOCOMPLETE) <> 0

Then

                                           StopTimer

timers(TIMER_AUTOCOMPLETE)

                                       End If

                                   End If

                                   timers(TIMER_AUTOCOMPLETE) =

StartTimer(100, startTimerProxy, TIMER_AUTOCOMPLETE)

                               End If

                           End If

                       End If

                   End If

           End Select

       End If

   End Sub


   Public Sub TimerProc(timerID)

       Dim i, keys, accState, strToSpeak, index


       ' Begin

       Select Case timerID

           Case TIMER_AUTOCOMPLETE

               If Not autoCompleteSelected Is Nothing Then

                   On Error Resume Next

                   strToSpeak = autoCompleteSelected.Value & ". " &

autoCompleteSelected.Description

                   index = GetSelectedItemIndex(autoCompleteSelected)

                   strToSpeak = strToSpeak &

Replace(myStrings("SUGGESTIONS"), "%1", Replace(Replace(myStrings("INDEX"),

"%1", index(0)), "%2", index(1)))

                   Silence

                   MySpeak strToSpeak

                   On Error Goto 0

               End If

       End Select

   End Sub


   Private Function GetSelectedItemIndex(accObj)

       Dim accParent, i, children, total, selected, childState


       ' Begin

       total = 0

       selected = 0

       Set accParent = Nothing

       If Not accObj Is Nothing Then

           On Error Resume Next

           Set accParent = accObj.Parent

           On Error Goto 0

           If Not accParent Is Nothing Then

               total = accParent.Children.Count

               For i = 1 To accParent.Children.Count

                   On Error Resume Next

                   Set childState = accParent.Children(i).State

                   On Error Goto 0

                   If Not childState Is Nothing Then

                       If childState.Selected Then

                           selected = i

                           Exit For

                       End If

                   End If

               Next

           End If

       End If


       GetSelectedItemIndex = Array(selected, total)

   End Function


   Public Sub Dispose()

       Dim i, keys


       ' Stop any existing timers

       keys = timers.Keys

       For i = 0 to UBound(keys)

           If timers(keys(i)) <> 0 Then

               StopTimer timers(keys(i))

           End If

       Next


       ' Unhook all the MSAA events

       keys = msaaEvents.Keys

       For i = 0 to UBound(keys)

           If msaaEvents(keys(i)) <> 0 Then

               Disconnect msaaEvents(keys(i))

           End If

       Next

   End Sub


   Private Function GetAccessibleByName(accChildren, strName, match)

       Dim accChild, result


       ' Begin

       Set result = Nothing

       For Each accChild In accChildren

           Select Case match

               Case fmExact

                   If accChild.Name = strName Then

                       Set result = accChild

                       Exit For

                   End If

               Case fmContains

                   If InStr(accChild.Name, strName) > 0 Then

                       Set result = accChild

                       Exit For

                   End If

               Case fmStartsWith

                   If Left(accChild.Name, Len(strName)) = strName Then

                       Set result = accChild

                       Exit For

                   End If

               Case fmEndsWith

                   If Right(accChild.Name, Len(strName)) = strName Then

                       Set result = accChild

                       Exit For

                   End If

           End Select

           If accChild.Children.Count > 0 Then

               Set result = GetAccessibleByName(accChild.Children, strName,

match)

               If Not result Is Nothing Then

                   Exit For

               End If

           End If

       Next

       Set GetAccessibleByName = result

   End Function


   Public Sub Class_Terminate()

       Set messageWindow = Nothing

       Set hotkeyProxy = Nothing

       Set startTimerProxy = Nothing

       Set autoCompleteEntries = Nothing

       Set msaaEventProxy = Nothing

       Set timers = Nothing

       Set myHotkeys = Nothing

       Set myMSAAEventSource = Nothing

       Set autoCompleteSelected = Nothing

       Set toField = Nothing

   End Sub


End Class


' DualParameterProxyClass - marshals calls to the specified function inside

the caller. This

' particular class deals events or procedures that take a single argument.

Class DualParameterProxyClass

   Private caller

   Private functionName


   ' VBScript doesn't appear to report the default method correct,

   ' so we need to make sure that it's defined first.

   Public Default Sub Main(parm1, parm2)

       Eval "caller." & functionName & "(parm1, parm2)"

   End Sub


   Public Function Init(c, fn)

       Set caller = c

       functionName = fn

       Set Init = Me

   End Function

End Class


' SingleParameterProxyClass - marshals calls to the specified function

inside the caller. This

' particular class deals events or procedures that take a single argument.

Class SingleParameterProxyClass

   Private caller

   Private functionName


   ' VBScript doesn't appear to report the default method correct,

   ' so we need to make sure that it's defined first.

   Public Default Sub Main(parm1)

       Eval "caller." & functionName & "(parm1)"

   End Sub


   Public Function Init(c, fn)

       Set caller = c

       functionName = fn

       Set Init = Me

   End Function

End Class


'------------------------------------------------------------------------------

' OnStateChange is the routine that gets called with the OnStateChange event

' fires from the SharedObjects object.

'------------------------------------------------------------------------------

Sub OnStateChange(objName, objState)

   If objName = "com.GWMicro.GWToolkit.CheckForUpdate" Then

       If objState Then

           
'---------------------------------------------------------------------

           ' The CheckForUpdate object was just loaded, so call the

           ' CheckForUpdates routine if we have't already.

           
'---------------------------------------------------------------------

           Set SO_CheckForUpdate = SharedObjects(objName, 0).NewCheck


           If Not checkedForUpdates Then

               Queue "CheckForUpdates"

               checkedForUpdates = True

           End If

       Else

           Set SO_CheckForUpdate = Nothing

       End If

   ElseIf objName = "com.GWMicro.GWToolkit.StandardHelpDialog" Then

       '---------------------------------------------------------------------

       ' The StandardHelpDialog object was just loaded, so now we can

       ' set the ClientInformation.ScriptHelp property to our real

       ' script help routine. Otherwise, we'll set it back to our

       ' default message.

       '---------------------------------------------------------------------

       If objState Then

           Set SO_StandardHelpDialog = SharedObjects(objName, 0).NewDialog


           '----------------------------------------------------------------

           ' Set up the help dialog with the appropriate information

           '----------------------------------------------------------------

           SO_StandardHelpDialog.INIFileName = myINIFile

           SO_StandardHelpDialog.HelpTitle = ClientInformation.ScriptName &

" " & ClientInformation.ScriptVersion

           SO_StandardHelpDialog.HelpText = myStrings("Script_Help")

           SO_StandardHelpDialog.ScriptName = ClientInformation.ScriptName

           SO_StandardHelpDialog.ScriptVersion =

ClientInformation.ScriptVersion

           SO_StandardHelpDialog.FocusCloseButton = True

           SO_StandardHelpDialog.UpdateUrl = myScriptUpdateURL

           SO_StandardHelpDialog.UseAboutBox = True

           SO_StandardHelpDialog.AboutAuthor = "GW Micro, Inc."

           SO_StandardHelpDialog.AboutReleaseDate =

fsObj.GetFile(ClientInformation.ScriptPath & "\" &

ClientInformation.ScriptFileName).DateLastModified

           SO_StandardHelpDialog.AboutCopyright = "GW Micro, Inc."

           SO_StandardHelpDialog.AboutWebsite = "
www.gwmicro.com
"

           If SharedObjects("com.GWMicro.GWToolkit.Version")() >= "8.4.1"

Then

               SO_StandardHelpDialog.AboutEmail = "
supp...@gwmicro.com
"

           End If

           '----------------------------------------------------------------

           ' Change ClientInformation.ScriptHelp to our real routine

           '----------------------------------------------------------------

           ClientInformation.ScriptHelp = "ScriptHelp"

       Else

           '----------------------------------------------------------------

           ' Change ClientInformation.ScriptHelp to our default message

           '----------------------------------------------------------------

           Set SO_StandardHelpDialog = Nothing

           ClientInformation.ScriptHelp = myStrings("GWToolkit_Required")

       End If

   ElseIf objName = "com.GWMicro.GWToolkit.ErrorReporting" And objState

Then

       '---------------------------------------------------------------------

       ' The ErrorReporting object was just loaded, so now we can execute

       ' the code it provides for enhanced error reporting, assuming we

haven't

       ' already done so (with the errorReportingEnabled variable will tell

us).

       ' ErrorReporting is not stored as a global variable, because we only

care

       ' about executing it once, and never again.

       '---------------------------------------------------------------------

       If Not errorReportingEnabled Then

           ExecuteGlobal SharedObjects(objName,

0)(ClientInformation.ScriptVersion, "
aa...@gwmicro.com
", True)

           errorReportingEnabled = True

       End If

   End If

End Sub


'-----------------------------------------------------------------------

' Check for automatic updates

'-----------------------------------------------------------------------

Sub CheckForUpdates()

   '-----------------------------------------------------------------------

   ' We first need to see if the check for update object is available. If

   ' it's not, there's no point in continuing.

   '-----------------------------------------------------------------------

   If Not SO_CheckForUpdate Is Nothing Then

       '--------------------------------------------------------------------

       ' If Automatic_Update exists in our INI, and the value is 1, then

       ' we'll attempt to check for a new version.

       '--------------------------------------------------------------------

       If IniFile(myINIFile).Number("Automatic_Updates", "OnScriptStart",

1) = 1 Then

           '----------------------------------------------------------------

           ' To check for an update, we need to provide the required

           ' information: our script version (which we stored in the

           ' ClientInformation object in the global variables section, and

           ' the web address to our XML file, which we also stored in

           ' the global variables section.

           '----------------------------------------------------------------

           SO_CheckForUpdate.ScriptVersion =

ClientInformation.ScriptVersion

           SO_CheckForUpdate.UpdateUrl = myScriptUpdateURL

           '----------------------------------------------------------------

           ' Now that we've provided all the required inforamtion, we

           ' have the GW Toolkit check for an update.

           '----------------------------------------------------------------

           SO_CheckForUpdate.Check

           '----------------------------------------------------------------

           ' Finally, we'll set the global flag that indicates whether or

           ' not we've already checked for updates to True

           '----------------------------------------------------------------

           checkedForUpdates = True

       Else

           '----------------------------------------------------------------

           ' Since we weren't able to get the toolkit object at this point,

           ' we need to make sure our global flag that indicates whether

           ' or not we've already checked for updates is set to False.

           '----------------------------------------------------------------

           checkedForUpdates = False

       End If

   End If

End Sub


Sub ScriptHelp()

   SO_StandardHelpDialog.Show

End Sub


Main()


Sub Main()

   ClientInformation.ScriptName = myStrings("Script_Name")

   ClientInformation.ScriptVersion = myStrings("Script_Version")

   ClientInformation.ScriptDescription = ClientInformation.ScriptName & " "

& ClientInformation.ScriptVersion

   ClientInformation.ScriptHelp = myStrings("GWToolkit_Required")


   ConnectEvent SharedObjects, "OnStateChange", "OnStateChange"

   ConnectEvent DesktopWindow, "OnChildActivate", "OnChildActivate"

   ConnectEvent DesktopWindow, "OnChildCreate", "OnChildCreate"

   ConnectEvent DesktopWindow, "OnChildClose", "OnChildClose"

   setFileActiveEvent = ConnectEvent(Application, "OnSetFileActivate",

"OnSetFileActivate")

End Sub


Sub OnSetFileActivate(setFile)

   If setFile.FileName = "WindowsLiveMail.set" Then

       LoadGraphicDictionaryEntries()

       ' We're done with this event, so no need to keep it hanging around

       If setFileActiveEvent <> 0 Then

           Disconnect setFileActiveEvent

           setFileActiveEvent = 0

       End If

   End If

End Sub


Sub LoadGraphicDictionaryEntries()

   Dim activeSet, activeGraphicDictionary, keys, i, crc, labels


   ' Begin

   Set activeSet = ActiveSettings

   If Not activeSet Is Nothing Then

       Set activeGraphicDictionary = activeSet.GraphicDictionary

       If Not activeGraphicDictionary Is Nothing Then

           keys = myStrings.Keys

           For i = 1 to UBound(keys)

               If Left(keys(i), Len(GRAPHIC_PREFIX)) = GRAPHIC_PREFIX Then

                   crc = Mid(keys(i), Len(GRAPHIC_PREFIX) + 1,

Len(keys(i)))

                   labels = Split(myStrings(keys(i)), "|")

                   On Error Resume Next

                   ' This is in an on error because, prior to Window-Eyes

7.5.4, sending a CRC

                   ' value greater than 2147483647 would cause an overflow

script error.

                   activeGraphicDictionary.Add crc, labels(0), labels(1),

False, False, False

                   On Error Goto 0

               End If

           Next

       End If

   End If

End Sub


Sub OnChildCreate(wObj)

   If wObj.ModuleName = "MSMAIL" Then

       If wObj.ClassName = "Address Book Native Window Class" Then '

Address Book Native Window Class

           contactHwnd = wObj.Handle

           Set myMSAAEventSource = MSAAEventSource

           myMSAAEventSource.Process = ClientInformation.ApplicationProcess

           Set blockedFocusEvent =

myMSAAEventSource.BlockEvent(event_OBJECT_FOCUS,

ClientInformation.ApplicationProcess)

           msaaFocusEvent = ConnectEvent(myMSAAEventSource,

"OnObjectFocus", "OnObjectFocus")

       End If

   End If

End Sub


Sub OnChildClose(hwnd)

   If hwnd = contactHwnd Then

       If msaaFocusEvent <> 0 Then

           Disconnect msaaFocusEvent

           msaaFocusEvent = 0

       End If

       If Not blockedFocusEvent Is Nothing Then

           blockedFocusEvent.Unblock

           Set blockedFocusEvent = Nothing

       End If

       If Not myMSAAEventSource Is Nothing Then

           Set myMSAAEventSource = Nothing

       End If

   End If

End Sub


Sub OnChildActivate(wObj)

   ' Begin

   If Not messageWindow Is Nothing Then

       messageWindow.Dispose()

   End If

   Set messageWindow = Nothing


   If fieldDataEvent <> 0 Then

       Disconnect fieldDataEvent

       fieldDataEvent = 0

   End If


   If myKeyDownEvent <> 0 Then

       Disconnect myKeyDownEvent

       myKeyDownEvent = 0

   End If


   Set myMoveMessageHotkey = Nothing


   If wObj.ModuleName = "MSMAIL" Then

       Select Case wObj.ClassName

           Case "Outlook Express Browser Class"

               ' Maximize the main window

               wObj.Status = wsMaximized

               Set myMoveMessageHotkey =

Keyboard.RegisterHotkey(myStrings("MOVE_TO_HOTKEY"), "TriggerMoveToDialog",

wObj, wObj)

           Case "ATH_Note"

               If Left(wObj.Name, Len(myStrings("MESSAGE_WINDOW_NAME"))) =

myStrings("MESSAGE_WINDOW_NAME") Then

                   Set messageWindow = (New MessageWindowClass).Init(wObj,

False)

               ElseIf Left(wObj.Name,

Len(myStrings("NEW_MESSAGE_WINDOW_NAME"))) =

myStrings("NEW_MESSAGE_WINDOW_NAME") Then

                   Set messageWindow = (New MessageWindowClass).Init(wObj,

True)

               End If

       End Select

   ElseIf wObj.ModuleName = "WLMAIL" Then

       Select Case wObj.Name

           Case myStrings("RULE_EDITOR_WINDOW_NAME")

               fieldDataEvent = ConnectEvent(wObj, "OnChildFieldData",

"OnChildFieldData")

       End Select


       Select Case wObj.Title

           Case myStrings("GOTO_FOLDER_WINDOW_TITLE"),

myStrings("MOVE_WINDOW_TITLE")

               myKeyDownEvent = ConnectEventWithParameter(Keyboard,

"OnKeyDown", "OnKeyDown", wObj)

       End Select

   End If

End Sub


Function OnChildFieldData(wObj)

   Dim lvObj, lvSelected, checkedState


   ' Begin

   OnChildFieldData = vbNull

   If wObj.ClassName = "SysListView32" And wObj.ModuleName = "WLMAIL" Then

       Set lvObj = wObj.Control

       If TypeName(lvObj) = "ListView" Then

           On Error Resume Next

           Set lvSelected = lvObj.Items.Selected(1)

           On Error Goto 0

           If Not lvSelected Is Nothing Then

               If lvSelected.StateImage = 7 Then

                   checkedState = myStrings("UNCHECKED")

               Else

                   checkedState = myStrings("CHECKED")

               End If

               OnChildFieldData = checkedState & ". " & lvSelected.Text

           End If

       End If

   End If

End Function


Sub OnObjectFocus(accObj)

   Dim eventWin : Set eventWin = Nothing

   Dim accRole : Set accRole = Nothing

   Dim accParent : Set accParent = Nothing

   Dim accParentRole : Set accParentRole = Nothing

   Dim handledEvent : handledEvent = False


   ' Begin

   On Error Resume Next

   accObj.Prefetch apAll

   On Error Goto 0


   If Not accObj Is Nothing Then

       Set eventWin = accObj.Window

       If Not eventWin Is Nothing Then

           Set accRole = accObj.Role

           If Not accRole Is Nothing Then

               Set accParent = accObj.Parent

               If Not accParent Is Nothing Then

                   Set accParentRole = accParent.Role

                   If Not accParentRole Is Nothing Then

                       If eventWin.ClassName = "WLXDUI" And

eventWin.ModuleName = "WLMAIL" Then

                           If accRole.Value = role_SYSTEM_LISTITEM Then

                               If accParentRole.Value = role_SYSTEM_WINDOW

And accParent.Name = "ABFrame" Then

                                   Dim parts : parts =

Split(accObj.Description, vbCr)

                                   Dim contact

                                   If Trim(accObj.Name) <> Trim(parts(0))

Then

                                       contact = accObj.Name & ". " &

parts(0)

                                   Else

                                       contact = parts(0)

                                   End If

                                   Queue "MySpeak", contact

                                   handledEvent = True

                               End If

                           End If

                       End If

                   End If

               End If

           End If

       End If

   End If


   If Not accObj Is Nothing Then

       If Not handledEvent Then

           accObj.SimulateEvent event_OBJECT_FOCUS, apAll

       End If

   End If

End Sub


Sub MySpeak(str)

   ' Begin

   If str <> lastSpoken Then

       Silence

       Queue "MyBraille", str

       Speak str

   End If

   lastSpoken = str

End Sub


Sub MyBraille(str)

   Dim bDisplay, padding


   ' Begin

   Set bDisplay = Nothing

   If SharedObjects("com.GWMicro.GWToolkit.Version")() >= "8.5.1" Then

       If myBrailleObj is Nothing Then

           Set myBrailleObj =

SharedObjects("com.GWMicro.GWToolkit.CustomBraille").NewBraille()

       End If

       If Not myBrailleObj is Nothing Then

           myBrailleObj.Display str

           ConnectKeyDown

       End If

   Else

       On Error Resume Next

       Set bDisplay = BrailleDisplays.Active

       On Error Goto 0

       If Not bDisplay Is Nothing Then

           If bDisplay.Type <> bdtNone Then

               padding = Braille.ActiveCellCount

               If Len(str) < padding Then

                   padding = padding - Len(str)

               End If

               If padding > Len(str) Then

                   str = str & String(padding, " ")

               End If

               Braille.Display str

           End If

       End If

   End If

End Sub


Sub TriggerMoveToDialog(wObj)

   Dim ribbon, item


   ' Begin

   On Error Resume Next ' Because MSAA

   Set ribbon = GetRibbon()

   If Not ribbon Is Nothing Then

       ' NOTE: This won't work if the Home tab is NOT the active tab!

       Set item = GetRibbonItem(ribbon, myStrings("HOME_RIBBON_TAB_NAME"),

myStrings("HOME_ACTIONS_RIBBON_GROUP_NAME"),

myStrings("HOME_ACTIONS_MOVETO_ITEM_NAME"))

       If Not item Is Nothing Then

           item.DoDefaultAction()

           If Err.Number <> 0 Then

               Silence

               Speak myStrings("MOVE_UNAVAILABLE")

           End If

       End If

   End If

   On Error Goto 0

End Sub


Function GetRibbon()

   ' Begin

   Set GetRibbon = DrillDown(ActiveWindow.Accessible, role_SYSTEM_PANE,

myStrings("LOWER_RIBBON"))

End Function


Function GetRibbonItem(ribbon, tabName, groupName, itemName)

   Dim child, tabObj, groupObj, itemObj


   ' Begin

   Set itemObj = Nothing

   Set tabObj = Nothing

   Set groupObj = Nothing


   If Not ribbon Is Nothing Then

       For Each child In ribbon.Children(1).Children

           If tabObj Is Nothing Then

               If child.Name = tabName Then

                   Set tabObj = child

                   Exit For

               End If

           End If

       Next

       If Not tabObj Is Nothing Then

           For Each child In tabObj.Children

               If groupObj Is Nothing Then

                   If child.Name = groupName Then

                       Set groupObj = child

                       Exit For

                   End If

               End If

           Next

       End If


       If Not groupObj Is Nothing Then

           For Each child In groupObj.Children

               If itemObj Is Nothing Then

                   If child.Name = itemName Then

                       Set itemObj = child

                       Exit For

                   End If

               End If

           Next

       End If

   End If

   Set GetRibbonItem = itemObj

End Function


Function DrillDown(accObj, role, name)

   Dim child, result


   ' Begin

   On Error Resume Next

   If accObj.Role.Value = role Then

       If accObj.Name = name Then

           Set DrillDown = accObj

           Exit Function

       End If

   End If


   For Each child In accObj.Children

       If child.Role.Value = role Then

           If child.Name = name Then

               Set DrillDown = child

               Exit Function

           End If

       End If

       If child.Children.Count > 0 Then

           Set result = DrillDown(child, role, name)

           If Not result Is Nothing Then

               Set DrillDown = result

               Exit Function

           End If

       End If

   Next

   On Error Goto 0

   Set DrillDown = Nothing

End Function


Function OnKeyDown(vk, km, wObj)

   Dim kDisp


   ' Begin

   kDisp = kdProcess

   If keyPressTimer <> 0 Then

       StopTimer keyPressTimer

       keyPressTimer = 0

   End If

   If FocusedWindow.ModuleName = "WLMAIL" And FocusedWindow.ClassName =

"WLXDUI" Then

       ' Start keeping track of key presses. When the timer fires, then

look

       ' for the string entered.

       km = km And Not kmShift And Not kmNumpad And Not kmNumlock

       If (vk = 32 Or (vk >= 48 And vk <= 126)) And km = 0 Then

           firstLetterNavStr = firstLetterNavStr & ChrW(vk)

           keyPressTimer = StartTimer(250, "FirstLetterNav",

firstLetterNavStr)

           kDisp = kdDiscard

       Else

           firstLetterNavStr = ""

           keyPressTimer = 0

       End If

   Else

       firstLetterNavStr = ""

       keyPressTimer = 0

   End If

   OnKeyDown = kDisp

End Function


Sub ConnectKeyDown

   If keyProcessedDownEventForBraille = 0 Then

       keyProcessedDownEventForBraille = ConnectEvent(Keyboard,

"OnKeyProcessedDown", "OnKeyProcessedDown")

   End If

End Sub


Sub DisconnectKeyDown

   If keyProcessedDownEventForBraille <> 0 Then

       Disconnect keyProcessedDownEventForBraille

       keyProcessedDownEventForBraille = 0

   End If

End Sub


Sub OnKeyProcessedDown(vk, km)

   If Not myBrailleObj Is Nothing Then

       myBrailleObj.ReleaseDisplay

       DisconnectKeyDown

   End If

End Sub



Sub FirstLetterNav(navStr)

   Dim focusAccObj, folderlist, folderInfo, nextFolderListID, nextIndex,

currIndex, currFolderListID, selectedFolder, found


   ' Begin

   found = False


   If myKeyDownEvent <> 0 Then

       Disconnect myKeyDownEvent

       myKeyDownEvent = 0

   End If


   If keyPressTimer <> 0 Then

       StopTimer keyPressTimer

       keyPressTimer = 0

   End If


   Set focusAccObj = FocusedWindow.Accessible

   Do

       ' Get the current hash of visible folder names and index of the

selected item

       Set folderList = DrillDown(focusAccObj, role_SYSTEM_OUTLINE,

myStrings("FOLDER_TREE_LIST_PANE"))

       If Not folderList Is Nothing Then

           folderInfo =

GetSelectedFolderInfo(folderList.Children.FilterByRoleAndState(role_SYSTEM_OUTLINEITEM))

           If IsArray(folderInfo) And UBound(folderInfo) > 0 Then

               currfolderListID = folderInfo(0)

               currIndex = folderInfo(1)

           End If

       End If


       ' Then send a down arrow. use Down and Up because InsertKey is

synchronous, and too slow

       Keyboard.InsertKeyDown vk_DOWN

       Keyboard.InsertKeyUp vk_DOWN


       ' Get the new hash of visible folder names and index of the selected

item

       Set folderList = DrillDown(focusAccObj, role_SYSTEM_OUTLINE,

myStrings("FOLDER_TREE_LIST_PANE"))

       If Not folderList Is Nothing Then

           folderInfo =

GetSelectedFolderInfo(folderList.Children.FilterByRoleAndState(role_SYSTEM_OUTLINEITEM))

           If IsArray(folderInfo) And UBound(folderInfo) Then

               nextFolderListID = folderInfo(0)

               nextIndex = folderInfo(1)

           End If

       End If

       ' See if we have a match

       If IsArray(folderInfo) And UBound(folderInfo) > 1 Then

           If Left(LCase(folderInfo(2)), Len(navStr)) = LCase(navStr) Then

               ' Found a match!

               found = True

               Exit Do

           End If

       End If

   Loop While currFolderListID & currIndex <> nextFolderListID & nextIndex


   If Not found Then

       Keyboard.InsertKey vk_HOME, kmControl

       Silence

       Speak myStrings("NO_MATCH")

   End If


   myKeyDownEvent = ConnectEventWithParameter(Keyboard, "OnKeyDown",

"OnKeyDown", ActiveWindow)


   firstLetterNavStr = ""

End Sub


Function GetSelectedFolderInfo(folderList)

   Dim result, index, folder, folderName, folderState


   ' Begin

   index = 1

   result = Array("", index, "")

   Set folderState = Nothing

   If Not folderList is Nothing Then

       For Each folder In folderList

           If Not folder is Nothing Then

               folderName = folder.Name

               result(0) = result(0) & Replace(folderName, " ", "")

               On Error Resume Next

               Set folderState = folder.State

               On Error Goto 0

               If Not folderState Is Nothing Then

                   If folderState.Selected Then

                       result(1) = index

                       result(2) = folderName

                   End If

               End If

           End If

           index = index + 1

       Next

   End If

   GetSelectedFolderInfo = result

End Function

'' SIG '' Begin signature block

'' SIG '' MIIZwAYJKoZIhvcNAQcCoIIZsTCCGa0CAQExCzAJBgUr

'' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB

'' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB

'' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFMOtHpDd0pTH

'' SIG '' tywr8b101OTiYaeioIIUIzCCBBQwggL8oAMCAQICCwQA

'' SIG '' AAAAAS9O4VLXMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV

'' SIG '' BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh

'' SIG '' MRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i

'' SIG '' YWxTaWduIFJvb3QgQ0EwHhcNMTEwNDEzMTAwMDAwWhcN

'' SIG '' MjgwMTI4MTIwMDAwWjBSMQswCQYDVQQGEwJCRTEZMBcG

'' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf

'' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMjCC

'' SIG '' ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJTv

'' SIG '' Zfi1V5+gUw00BusJH7dHGGrL8Fvk/yelNNH3iRq/nrHN

'' SIG '' EkFuZtSBoIWLZFpGL5mgjXex4rxc3SLXamfQu+jKdN6L

'' SIG '' Tw2wUuWQW+tHDvHnn5wLkGU+F5YwRXJtOaEXNsq5oIwb

'' SIG '' TwgZ9oExrWEWpGLmtECew/z7lfb7tS6VgZjg78Xr2AJZ

'' SIG '' eHf3quNSa1CRKcX8982TZdJgYSLyBvsy3RZR+g79ijDw

'' SIG '' Fwmnu/MErquQ52zfeqn078RiJ19vmW04dKoRi9rfxxRM

'' SIG '' 6YWy7MJ9SiaP51a6puDPklOAdPQD7GiyYLyEIACDG6Hu

'' SIG '' tHQFwSmOYtBHsfrwU8wY+S47+XB+tCUCAwEAAaOB5TCB

'' SIG '' 4jAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB

'' SIG '' /wIBADAdBgNVHQ4EFgQURtg+/9zjvv+D5vSFm7DdatYU

'' SIG '' qcEwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUH

'' SIG '' AgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl

'' SIG '' cG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6

'' SIG '' Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwHwYD

'' SIG '' VR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJ

'' SIG '' KoZIhvcNAQEFBQADggEBAE5eVpAeRrTZSTHzuxc5KBvC

'' SIG '' Ft39QdwJBQSbb7KimtaZLkCZAFW16j+lIHbThjTUF8xV

'' SIG '' OseC7u+ourzYBp8VUN/NFntSOgLXGRr9r/B4XOBLxRjf

'' SIG '' OiQe2qy4qVgEAgcw27ASXv4xvvAESPTwcPg6XlaDzz37

'' SIG '' Dbz0xe2XnbnU26UnhOM4m4unNYZEIKQ7baRqC6GD/Sjr

'' SIG '' 2u8o9syIXfsKOwCr4CHr4i81bA+ONEWX66L3mTM1fsua

'' SIG '' irtFTec/n8LZivplsm7HfmX/6JLhLDGi97AnNkiPJm87

'' SIG '' 7k12H3nD5X+WNbwtDswBsI5//1GAgKeS1LNERmSMh08W

'' SIG '' YwcxS2Ow3/MwggSfMIIDh6ADAgECAhIRIQaggdM/2Hrl

'' SIG '' gkzBa1IJTgMwDQYJKoZIhvcNAQEFBQAwUjELMAkGA1UE

'' SIG '' BhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex

'' SIG '' KDAmBgNVBAMTH0dsb2JhbFNpZ24gVGltZXN0YW1waW5n

'' SIG '' IENBIC0gRzIwHhcNMTUwMjAzMDAwMDAwWhcNMjYwMzAz

'' SIG '' MDAwMDAwWjBgMQswCQYDVQQGEwJTRzEfMB0GA1UEChMW

'' SIG '' R01PIEdsb2JhbFNpZ24gUHRlIEx0ZDEwMC4GA1UEAxMn

'' SIG '' R2xvYmFsU2lnbiBUU0EgZm9yIE1TIEF1dGhlbnRpY29k

'' SIG '' ZSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB

'' SIG '' CgKCAQEAsBeuotO2BDBWHlgPse1VpNZUy9j2czrsXV6r

'' SIG '' Jf02pfqEw2FAxUa1WVI7QqIuXxNiEKlb5nPWkiWxfSPj

'' SIG '' BrOHOg5D8NcAiVOiETFSKG5dQHI88gl3p0mSl9RskKB2

'' SIG '' p/243LOd8gdgLE9YmABr0xVU4Prd/4AsXximmP/Uq+yh

'' SIG '' RVmyLm9iXeDZGayLV5yoJivZF6UQ0kcIGnAsM4t/aIAq

'' SIG '' taFda92NAgIpA6p8N7u7KU49U5OzpvqP0liTFUy5LauA

'' SIG '' o6Ml+6/3CGSwekQPXBDXX2E3qk5r09JTJZ2Cc/os+XKw

'' SIG '' qRk5KlD6qdA8OsroW+/1X1H0+QrZlzXeaoXmIwRCrwID

'' SIG '' AQABo4IBXzCCAVswDgYDVR0PAQH/BAQDAgeAMEwGA1Ud

'' SIG '' IARFMEMwQQYJKwYBBAGgMgEeMDQwMgYIKwYBBQUHAgEW

'' SIG '' Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9z

'' SIG '' aXRvcnkvMAkGA1UdEwQCMAAwFgYDVR0lAQH/BAwwCgYI

'' SIG '' KwYBBQUHAwgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov

'' SIG '' L2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc3RpbWVzdGFt

'' SIG '' cGluZ2cyLmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB

'' SIG '' BQUHMAKGOGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j

'' SIG '' b20vY2FjZXJ0L2dzdGltZXN0YW1waW5nZzIuY3J0MB0G

'' SIG '' A1UdDgQWBBTUooRKOFoYf7pPMFC9ndV6h9YJ9zAfBgNV

'' SIG '' HSMEGDAWgBRG2D7/3OO+/4Pm9IWbsN1q1hSpwTANBgkq

'' SIG '' hkiG9w0BAQUFAAOCAQEAgDLcB40coJydPCroPSGLWaFN

'' SIG '' fsxEzgO+fqq8xOZ7c7tL8YjakE51Nyg4Y7nXKw9UqVbO

'' SIG '' dzmXMHPNm9nZBUUcjaS4A11P2RwumODpiObs1wV+Vip7

'' SIG '' 9xZbo62PlyUShBuyXGNKCtLvEFRHgoQ1aSicDOQfFBYk

'' SIG '' +nXcdHJuTsrjakOvz302SNG96QaRLC+myHH9z73YnSGY

'' SIG '' /K/b3iKMr6fzd++d3KNwS0Qa8HiFHvKljDm13IgcN+2t

'' SIG '' FPUHCya9vm0CXrG4sFhshToN9v9aJwzF3lPnVDxWTMlO

'' SIG '' TDD28lz7GozCgr6tWZH2G01Ve89bAdz9etNvI1wyR5sB

'' SIG '' 88FRFEaKmzCCBVYwggQ+oAMCAQICEEA59jCxrMC4Ucmz

'' SIG '' YXAhHYwwDQYJKoZIhvcNAQEFBQAwgbQxCzAJBgNVBAYT

'' SIG '' AlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0G

'' SIG '' A1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE7MDkG

'' SIG '' A1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3

'' SIG '' LnZlcmlzaWduLmNvbS9ycGEgKGMpMTAxLjAsBgNVBAMT

'' SIG '' JVZlcmlTaWduIENsYXNzIDMgQ29kZSBTaWduaW5nIDIw

'' SIG '' MTAgQ0EwHhcNMTUwMzI3MDAwMDAwWhcNMTYwMzI2MjM1

'' SIG '' OTU5WjCBhzELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB1Zl

'' SIG '' cm1vbnQxGjAYBgNVBAcTEU1hbmNoZXN0ZXIgQ2VudGVy

'' SIG '' MSQwIgYDVQQKFBtBbGdvcml0aG1pYyBJbXBsZW1lbnRh

'' SIG '' dGlvbnMxJDAiBgNVBAMUG0FsZ29yaXRobWljIEltcGxl

'' SIG '' bWVudGF0aW9uczCCASIwDQYJKoZIhvcNAQEBBQADggEP

'' SIG '' ADCCAQoCggEBANUpyZy7NBZmLl3P+1wLci8YFyJ3eAdK

'' SIG '' pomRza9BHZWN0HpukPbGQLqRWNZYMqgRsXWRwLSdFTdW

'' SIG '' YuQx0XG1yZpmxP8xN6plK7pe0LuCKg3DSoPhOxUPuyF+

'' SIG '' 0re+bdLkUZdseLZSM9q+TbI3XTMtv4dYGXW1EyrZ5H7j

'' SIG '' 9SzMM6BcjjsdWqg6ewpSNim/0Y5z2kBfsd4KF9w8sBVW

'' SIG '' wIhyo+jUgARnFN3DHBNpjt9Cypn9p6x/ECcNlQrESe3H

'' SIG '' GprUffrvHX680360yzF5+qiQ2/peyvfhpdNclh8vnB1/

'' SIG '' Is2arACrbhwy/GabI7rbeB87qnP9QqJXAMpWbKK79y3N

'' SIG '' dvcCAwEAAaOCAY0wggGJMAkGA1UdEwQCMAAwDgYDVR0P

'' SIG '' AQH/BAQDAgeAMCsGA1UdHwQkMCIwIKAeoByGGmh0dHA6

'' SIG '' Ly9zZi5zeW1jYi5jb20vc2YuY3JsMGYGA1UdIARfMF0w

'' SIG '' WwYLYIZIAYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0

'' SIG '' cHM6Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIw

'' SIG '' GQwXaHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEwEwYDVR0l

'' SIG '' BAwwCgYIKwYBBQUHAwMwVwYIKwYBBQUHAQEESzBJMB8G

'' SIG '' CCsGAQUFBzABhhNodHRwOi8vc2Yuc3ltY2QuY29tMCYG

'' SIG '' CCsGAQUFBzAChhpodHRwOi8vc2Yuc3ltY2IuY29tL3Nm

'' SIG '' LmNydDAfBgNVHSMEGDAWgBTPmanqeyb0S8mOj9fwBSbv

'' SIG '' 49KnnTAdBgNVHQ4EFgQUchQRcYoquAN+2ATKzxpTAuW/

'' SIG '' GkQwEQYJYIZIAYb4QgEBBAQDAgQQMBYGCisGAQQBgjcC

'' SIG '' ARsECDAGAQEAAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCa

'' SIG '' +lsppq/uH5TvbHZAY71rRxHA5DvZX4nQVOwjRkIJmtuM

'' SIG '' Vxy4MOBBA9iKmb9i/oQeNAtW7tBb7A3eYP9uxmIW77Hw

'' SIG '' ftq30AGSZyMEZo7F2yuW+V/r8w5H8ZGbzsN+S3snssZT

'' SIG '' 4LKOpbGuBsq6ZFKUz65h+RfAJwaTquyznVjliehFuqfd

'' SIG '' OhFCyh9l7MpeWPXaGgke7MAUAzO16PjCa4oDwlHsDfB/

'' SIG '' qhV9AEDcptlvnjrgGCVMlX8SoUbHY2AfJnSESTMs/mRT

'' SIG '' QSJ1nggwCnw+P7Ww9c0AOGSsMzp53o6jh8rLLU5lGGFL

'' SIG '' pVF2orIIbmAGjLQvKreu0p6z0d5n6MpWMIIGCjCCBPKg

'' SIG '' AwIBAgIQUgDlqiVW/BqG7ZbJ1EszxzANBgkqhkiG9w0B

'' SIG '' AQUFADCByjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl

'' SIG '' cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU

'' SIG '' cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBW

'' SIG '' ZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz

'' SIG '' ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz

'' SIG '' IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0

'' SIG '' aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAw

'' SIG '' MjA3MjM1OTU5WjCBtDELMAkGA1UEBhMCVVMxFzAVBgNV

'' SIG '' BAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp

'' SIG '' U2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJt

'' SIG '' cyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24u

'' SIG '' Y29tL3JwYSAoYykxMDEuMCwGA1UEAxMlVmVyaVNpZ24g

'' SIG '' Q2xhc3MgMyBDb2RlIFNpZ25pbmcgMjAxMCBDQTCCASIw

'' SIG '' DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPUjS16l

'' SIG '' 14q7MunUV/fv5Mcmfq0ZmP6onX2U9jZrENd1gTB/BGh/

'' SIG '' yyt1Hs0dCIzfaZSnN6Oce4DgmeHuN01fzjsU7obU0PUn

'' SIG '' NbwlCzinjGOdF6MIpauw+81qYoJM1SHaG9nx44Q7iipP

'' SIG '' hVuQAU/Jp3YQfycDfL6ufn3B3fkFvBtInGnnwKQ8PEEA

'' SIG '' Pt+W5cXklHHWVQHHACZKQDy1oSapDKdtgI6QJXvPvz8c

'' SIG '' 6y+W+uWHd8a1VrJ6O1QwUxvfYjT/HtH0WpMoheVMF05+

'' SIG '' W/2kk5l/383vpHXv7xX2R+f4GXLYLjQaprSnTH69u08M

'' SIG '' PVfxMNamNo7WgHbXGS6lzX40LYkCAwEAAaOCAf4wggH6

'' SIG '' MBIGA1UdEwEB/wQIMAYBAf8CAQAwcAYDVR0gBGkwZzBl

'' SIG '' BgtghkgBhvhFAQcXAzBWMCgGCCsGAQUFBwIBFhxodHRw

'' SIG '' czovL3d3dy52ZXJpc2lnbi5jb20vY3BzMCoGCCsGAQUF

'' SIG '' BwICMB4aHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9y

'' SIG '' cGEwDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEw

'' SIG '' X6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4D

'' SIG '' AhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6

'' SIG '' Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMDQG

'' SIG '' A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp

'' SIG '' Z24uY29tL3BjYTMtZzUuY3JsMDQGCCsGAQUFBwEBBCgw

'' SIG '' JjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNp

'' SIG '' Z24uY29tMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF

'' SIG '' BQcDAzAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQVmVy

'' SIG '' aVNpZ25NUEtJLTItODAdBgNVHQ4EFgQUz5mp6nsm9EvJ

'' SIG '' jo/X8AUm7+PSp50wHwYDVR0jBBgwFoAUf9Nlp8Ld7Lvw

'' SIG '' MAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFYi

'' SIG '' 5jSkxGHLSLkBrVaoZA/ZjJHEu8wM5a16oCJ/30c4Si1s

'' SIG '' 0X9xGnzscKmx8E/kDwxT+hVe/nSYSSSFgSYckRRHsExj

'' SIG '' jLuhNNTGRegNhSZzA9CpjGRt3HGS5kUFYBVZUTn8WBRr

'' SIG '' /tSk7XlrCAxBcuc3IgYJviPpP0SaHulhncyxkFz8PdKN

'' SIG '' rEI9ZTbUtD1AKI+bEM8jJsxLIMuQH12MTDTKPNjlN9Zv

'' SIG '' pSC9NOsm2a4N58Wa96G0IZEzb4boWLslfHQOWP51G2M/

'' SIG '' zjF8m48blp7FU3aEW5ytkfqs7ZO6XcghU8KCU2OvEg1Q

'' SIG '' hxEbPVRSloosnD2SGgiaBS7Hk6VIkdMxggUJMIIFBQIB

'' SIG '' ATCByTCBtDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl

'' SIG '' cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU

'' SIG '' cnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1

'' SIG '' c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw

'' SIG '' YSAoYykxMDEuMCwGA1UEAxMlVmVyaVNpZ24gQ2xhc3Mg

'' SIG '' MyBDb2RlIFNpZ25pbmcgMjAxMCBDQQIQQDn2MLGswLhR

'' SIG '' ybNhcCEdjDAJBgUrDgMCGgUAoHAwEAYKKwYBBAGCNwIB

'' SIG '' DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw

'' SIG '' HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJ

'' SIG '' KoZIhvcNAQkEMRYEFCBVTuUSJD0Zl8eaiIuwnoCMSRs4

'' SIG '' MA0GCSqGSIb3DQEBAQUABIIBAFMkHoOHu+zPBRjU/ACP

'' SIG '' 1nmbe53IZmDNMzlq4En+o0QH5BGavsBaaA5bCJEE7xG6

'' SIG '' Am0iMUHN7P52iy6tlaZ335RSLSQlxy9ShjeK1Nrm7IV7

'' SIG '' R3GNbwGMINfq627h7pW6V5mo6Jg95d9XDNx9pW9Tpmmo

'' SIG '' 5kLVxcaIKC3K6JwG0cYGeOxOg1GwEBL0/SqcMMFx3m4C

'' SIG '' B3iMQJrVEYlsGmwjqYJRtgL/MACXR3UWYW5PYYZpqr4x

'' SIG '' dBEeV+ioIRWDiOSvdo1asLs8bK+hPyWslvVrQdrvMxRq

'' SIG '' t4/N54QR07cRZ7pmBjtjc9lCyIEA7MrOoo9v84wGM6Vj

'' SIG '' VWR8R3/eyaTngjGhggKiMIICngYJKoZIhvcNAQkGMYIC

'' SIG '' jzCCAosCAQEwaDBSMQswCQYDVQQGEwJCRTEZMBcGA1UE

'' SIG '' ChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xv

'' SIG '' YmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMgISESEG

'' SIG '' oIHTP9h65YJMwWtSCU4DMAkGBSsOAwIaBQCggf0wGAYJ

'' SIG '' KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B

'' SIG '' CQUxDxcNMTYwMTI4MTYyMDUzWjAjBgkqhkiG9w0BCQQx

'' SIG '' FgQUi4S2g2cg9GBy+nyT3L8ejs+k4fcwgZ0GCyqGSIb3

'' SIG '' DQEJEAIMMYGNMIGKMIGHMIGEBBSzYwi01M3tT8+9ZrlV

'' SIG '' +uO/sSwp5jBsMFakVDBSMQswCQYDVQQGEwJCRTEZMBcG

'' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf

'' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMgIS

'' SIG '' ESEGoIHTP9h65YJMwWtSCU4DMA0GCSqGSIb3DQEBAQUA

'' SIG '' BIIBACCR8iH1eglTwPY+rljLnDN4OyeBKu35t6nWsH9d

'' SIG '' 7jdY03nwX5g3D4ELmj36CbIBSFpTLyTIIHsB7sDta1zO

'' SIG '' SAgLPsQT1yt5A7hQw3lnil+lTrd4OdANtBSQtbH44vUW

'' SIG '' iZrVivTAvZV+XSpyHEkp3rDnSWS2oc+3QgPy4o1p5/tH

'' SIG '' CnWZp1r85qjk6Q2pDyEiOE+ue9TdGk5qltyHUtQUMcfI

'' SIG '' +P5kneBERq4NZZborwJ5u6bQ2g7QhB7wRpTMyclpTBHG

'' SIG '' g3D6qfg18xc/hXd2+gsHfLBBWOgPnJYkKyt7yrP0ru33

'' SIG '' zt72aJAWo+qXdQCwqBnzg6yz5O7dMKA89I48m0w=

'' SIG '' End signature block

---------------------------------------------------

Thanks in advance.


-----Original Message-----
From: Pamela Dominguez via Talk

Sent: Sunday, November 10, 2019 12:33 AM

To: Window-Eyes Discussion List

Cc: Pamela Dominguez

Subject: Re: email


Really?  I can still use window eyes with windows live mail, and I haven't

noticed a difference.  So I don't know what you mean about window eyes

stopped tracking the cursor.  Pam.


-----Original Message-----
From: Rod Hutton via Talk

Sent: Saturday, November 09, 2019 8:17 AM

To: Window-Eyes Discussion List

Cc: Rod Hutton

Subject: RE: email


Hi Darrell,


Thunderbird worked great for me until Window-Eyes stopped tracking the

cursor.

This was the second email client which did this to me.

The previous one was Windows Live Mail.

Since I switched to Office 365 Outlook, this has not happened.

I know that Office 365 costs money on an ongoing basis, but Microsoft

regularly improves its accessibility, and so staying with it gives you the

best opportunity to use accessible email software on Windows and the Apple

Mac.

I know, I say this all the time. Smile


With respect,


Rod


Sent from Outlook for Windows


-----Original Message-----

From: Talk <
talk-bounces+rod_hutton=hotmail....@lists.window-eyes.com
On

Behalf Of Darrell Bowles via Talk

Sent: November 7, 2019 8:48 PM

To: Window-Eyes Discussion List <
talk@lists.window-eyes.com


Cc: Darrell Bowles <
dgbow...@msn.com


Subject: RE: email


How about thunderbird?



-----Original Message-----

From: Talk <
talk-bounces+dgbowles=msn....@lists.window-eyes.com
On Behalf

Of tony c via Talk

Sent: Thursday, November 7, 2019 8:13 PM

To: Window-Eyes Discussion List <
talk@lists.window-eyes.com


Cc: tony c <
tch...@mediacombb.net


Subject: RE: email


I know outlook is accessible, but I don’t need office 365. I use very little

of anything except Microsoft word on a rare occasion. I just hate the mail

program that’s with win 10. I do use it but it’s not totally accessible.


Sent from Mail for Windows 10


From: joseph hudson via Talk

Sent: Thursday, November 7, 2019 2:49 PM

To: Window-Eyes Discussion List

Cc: joseph hudson

Subject: Re: email


Hi Tony, Outlook is very accessible.



joseph hudson


Technology support for the blind or better known as Mack, IOS and Windows

support


FaceTime, iMessage, and email


jhud7...@twc.com


Telephone/what's up messenger


254-300-7667


Emergency cell


254-813-2461


Twitter

https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Fjosephhudson89&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=jsjRGciWdVuDVRH5GINvRpgeuZ5NM%2FPTPoOhbUtys2I%3D&amp;reserved=0


Facebook


https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2Fjoseph.hudson.9404&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=TE8%2Fenq1ezhWNwKx62BDgNVxRZS2GWbdXLKSII5yjIQ%3D&amp;reserved=0


On Nov 7, 2019, at 1:26 PM, tony c via Talk <
talk@lists.window-eyes.com


wrote:



Hi, I need a accessible email program. I’m using the one that on windows

10, it is useable but just barely. Lol Tony



Sent from Mail for Windows 10



_______________________________________________

Any views or opinions presented in this email are solely those of the

author and do not necessarily represent those of Ai Squared.



For membership options, visit


https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Fjhud7789%2540twc.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=9bjIZ689aihYWPqqvcnFmyM9xmjh4slVEoxboYiP9l0%3D&amp;reserved=0
.

For subscription options, visit


https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&amp;reserved=0

List archives can be found at


https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&amp;reserved=0


_______________________________________________

Any views or opinions presented in this email are solely those of the author

and do not necessarily represent those of Ai Squared.


For membership options, visit

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Ftch828%2540mediacombb.net&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=0LhtRp8fslCR0vRFkpbWbo6%2F9uc0Qm8HKKv%2FIke%2FVvA%3D&amp;reserved=0
.

For subscription options, visit

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&amp;reserved=0

List archives can be found at

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&amp;reserved=0


_______________________________________________

Any views or opinions presented in this email are solely those of the author

and do not necessarily represent those of Ai Squared.


For membership options, visit

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Fdgbowles%2540msn.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=9B6HvLE%2Fa%2BPKJXT3kl1rPyzsDgP0D1%2BMTrhNHMcoWgo%3D&amp;reserved=0
.

For subscription options, visit

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=kTzxo%2B7QLkTekkgvd7S6Qwvd6IwnKL3EftPFFD79tW0%3D&amp;reserved=0

List archives can be found at

https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=0UCfjeZuxNAyWL0x7RavHnbKGRVM%2BTCjrwOkmlnmMps%3D&amp;reserved=0

_______________________________________________

Any views or opinions presented in this email are solely those of the author

and do not necessarily represent those of Ai Squared.


For membership options, visit

http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/rod_hutton%40hotmail.com
.

For subscription options, visit

http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com

List archives can be found at

http://lists.window-eyes.com/private.cgi/talk-window-eyes.com

_______________________________________________

Any views or opinions presented in this email are solely those of the author

and do not necessarily represent those of Ai Squared.


For membership options, visit

http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/pammygirl99%40gmail.com
.

For subscription options, visit

http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com

List archives can be found at

http://lists.window-eyes.com/private.cgi/talk-window-eyes.com


_______________________________________________

Any views or opinions presented in this email are solely those of the author

and do not necessarily represent those of Ai Squared.


For membership options, visit

http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/peter.chinpk%40gmail.com
.

For subscription options, visit

http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com

List archives can be found at
_______________________________________________
Any views or opinions presented in this email are solely those of the author 
and do not necessarily represent those of Ai Squared.

For membership options, visit 
http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/archive%40mail-archive.com.
For subscription options, visit 
http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
List archives can be found at 
http://lists.window-eyes.com/private.cgi/talk-window-eyes.com

Reply via email to