Hell 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: retry, sgtop, edit script or restart script. 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 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/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