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

Reply via email to