What exactly is the error message saying? It usually will tell us what does not work, and which line in the scripting code that failed. That is, which step in the processing of the script that caused the error. Unless we know that, it all will be a matter of more or less wild guessing.
Now, if you happen to have the WEPM file for the script, you might want to reinstall the app. If you have not made any user settings in the app, if it offers such capability, I generally suggest first uninstalling the app altogether, prior to attempting any reinstallation. Should you not have the WEPM file, let us see if we might be able to help you out. Again, wild guessing. Since it worked for you up till recently, it might be due to some stuff going on with your computer. Try any Anti-ware you have, like AntiSpyware or AntiVirus. Run a full scan of the system. See if anything gets better. Sometimes I have seen certain Antiware block files from one of the WinEyes apps, so if that is the case, reinstallation will not help, since it only will reinstall the file that is being blocked. In such cases, checking the blocking list in your anti-ware might be a good idea. Don't use the software in question, so sorry for not being able to give you any further assistance here. Next time the error pops on you, would you mind try copy it and let the list know what it says? David On 11/11/2019 3:18 AM, peter Chin via Talk wrote: > 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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=jsjRGciWdVuDVRH5GINvRpgeuZ5NM%2FPTPoOhbUtys2I%3D&reserved=0 > > > > > Facebook > > > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2Fjoseph.hudson.9404&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=TE8%2Fenq1ezhWNwKx62BDgNVxRZS2GWbdXLKSII5yjIQ%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=9bjIZ689aihYWPqqvcnFmyM9xmjh4slVEoxboYiP9l0%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=0LhtRp8fslCR0vRFkpbWbo6%2F9uc0Qm8HKKv%2FIke%2FVvA%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&sdata=9B6HvLE%2Fa%2BPKJXT3kl1rPyzsDgP0D1%2BMTrhNHMcoWgo%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&sdata=kTzxo%2B7QLkTekkgvd7S6Qwvd6IwnKL3EftPFFD79tW0%3D&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&data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&sdata=0UCfjeZuxNAyWL0x7RavHnbKGRVM%2BTCjrwOkmlnmMps%3D&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/trailerdavid%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/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