Thanks Chip: I have narrowed it some today. I think I might have a plan to try out tomorrow. There are too many complexities and gotch-yas to even go into how the IDE works but basically you hit it when you said focus, or at least the selected text in the editer does not change when WE gets locked into what looks like the ErrorList window. Also, I am not sure, pretty sure, that while the ErrorList is a window or something along those lines, the Editer is not and throws no really good events or at least I havent seen many. Anyway, the plan is sort of block anything related to the ErrorList unless it is after me clicking on the ErrorList MenuItem in the View Menu. I think a global, script global, boolean variable might work for this.Later and thanks to you, Rod and others for the Desktop idea, never would have gotten off the ground since the Overlap Window seems problematic for one reason or another. This IDE is amazingly complex, long and tedious to slog through. I tried the TreeView but got noplace with it, likely I was not using it correctly but couldn't put focus on the TextEditor in Visual Studio, fire up the TreeView and find anything except the top level window and expanded allot of branches that seemingly led noplace, over 400 items at least and I never made it through all the branches to the leafs before giving up. Have a good one and see you on the flip-side: Rick USA -----Original Message----- From: Chip Orange [mailto:[email protected]] Sent: Sunday, March 22, 2015 12:25 PM To: 'Rick Thomas'; 'Window-Eyes Scripting List' Subject: RE: Visual Studio Project: Desktop, Overlap and Accessible Object
Before messing with msaa Rick, since it's the Error window you are concerned with at the moment, leave your logger as it is, and do something which causes the error window to steal focus as it's been doing, and then log the info for the .over of the error window. Also, this will tell you if the error window really is getting focus like you think. If it is, what you will ultimately want to do is to start learning about filtering MSAA events, so that you can filter this constant change of focus (if that's what is happening), so window-eyes doesn't see it, and then next, you'll need to allow your apps msaa events to still see the focus change to the error window so that you can correct it (put the focus back to where it belongs). I'm not really convinced focus is staying on the error window, since a sighted person could not keep typing into their code if the focus kept moving away from the code window, so you probably won't need to correct it; but it could be popping over there for a quick millisecond, in which case, you would just want to stop window-eyes from noticing that. Hth, Chip -----Original Message----- From: Scripting [mailto:[email protected]] On Behalf Of Rick Thomas via Scripting Sent: Sunday, March 22, 2015 7:12 AM To: 'Window-Eyes Scripting List' Subject: Visual Studio Project: Desktop, Overlap and Accessible Object Hi: Connecting to the Desktop did get things at least firing. The Overlap Window OnChildFocus first hits the Desktop, then the Visual Studio Start Page and again the Desktop. I pull a a Accessible object when the Visual Studio window is the overlap for future analysis. Now I will see if MSAA offers me anything using the Accessible Object? Does that sound right? Here is the output for the 3 OnChildFocus events and below it my code: Now I could use some comments on what to try next to ensure things are working... This has 2 sections so you can jump to a heading by find on "Section: It is really quite short but thought I would set up in case gets longer in the future. Section: Logger Output Desktop OnChildFocus fired OverlapWindow Properties: Title: desk top Name: Program Manager ModuleName: SHELL32 ClassName: Progman IsValid: True Status: 2 Visible: True overlapWindow Was not set to overlapObj Desktop OnChildFocus fired OverlapWindow Properties: Title: Start Page - Microsoft Visual Studio Name: Error List - Microsoft Visual S ModuleName: DEVENV ClassName: HwndWrapper[DefaultDomain;;b2b0d600-6857-4bfe-8b10-1dfaf378 IsValid: True Status: 1 Visible: True accOverlap Accessible is set for overlapObj Desktop OnChildFocus fired OverlapWindow Properties: Title: desk top Name: Program Manager ModuleName: SHELL32 ClassName: Progman IsValid: True Status: 2 Visible: True overlapWindow Was not set to overlapObj Section: AppCode ' VS2013 Option Explicit Dim logFSO: Set logFSO = CreateObject("Scripting.FileSystemObject") Dim myMSAAEventSource : Set myMSAAEventSource = MSAAEventSource myMSAAEventSource.Process = ClientInformation.ApplicationProcess Dim accOverlap Dim Desktop Set Desktop = ClientInformation.Application.DesktopWindow ConnectEvent Desktop, "OnChildFocus", "OnChildFocus" Sub OnChildFocus( wObj) Logger( "Desktop OnChildFocus fired") Dim overlapObj Set overlapObj = wObj.Overlap Logger( "OverlapWindow Properties:") Logger( "Title: " & overlapObj.Title) Logger( "Name: " & overlapObj.Name) Logger( "ModuleName: " & overlapObj.ModuleName) Logger( "ClassName: " & overlapObj.ClassName) Logger( "IsValid: " & overlapObj.IsValid) Logger( "Status: " & overlapObj.Status) Logger( "Visible: " & overlapObj.Visible) If (overlapObj.IsValid) And _ (overlapObj.ModuleName = "DEVENV") Then Set accOverlap = overlapObj.Accessible Logger( "accOverlap Accessible is set for overlapObj") Else Logger( "overlapWindow Was not set to overlapObj") End If End Sub Sub Logger( LogLine ) Const ForAppend = 8 Dim LogFile: Set LogFile = logFSO.OpenTextFile( "c:\VSScriptFolder\Logger.txt", ForAppend, True) LogFile.WriteLine(LogLine ) LogFile.Close End Sub ' EndOfFile: -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com/attachme nts/20150322/15b31f66/attachment.htm> _______________________________________________ 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/scripting-window-eyes.com/lists3717 %40comcast.net. For subscription options, visit http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com List archives can be found at http://lists.window-eyes.com/private.cgi/scripting-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/scripting-window-eyes.com/archive%40mail-archive.com. For subscription options, visit http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com List archives can be found at http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com
