David,
Welcome to our world <smile>. OE is very earth friendly. It recycles
the previous window it was using and just changes the title and
contents. Window-Eyes isn't firing an activation change because there
isn't one. You can change the title of a window and its contents
without any activation change. So unfortunatally there isn't any
operating system event that fires in this case. On option is to sense
you are in this case (that case being a message window of OE) and then
you can maybe hook OnClipRendered for that window and if you see a clip
rendered in the titlebar you can treat it like a new window. Now the
side-effect of this is the OnClipRendered will fire any time the title
gets drawn so you have to prepare for that. For example only look for
it while the window is the active window. If the user does a screen
redraw it will fire because the clip will change even though it is the
same as it was... Window-Eyes has to deal with this itself so we read
the next window etc. These is the foundation of where hacks are built.
Doug
David wrote:
Below is my script code. In all my applications, this works fine. That
is, except from one: Outlook Express. When I switch to OE, it reports
'new window.' just like it is supposed to. Again, when I press ENTER
on a message, and it opens, the script reports 'new window.'. But, if
I use the CTRL-comma/CTRL-DOT, so as to scroll to Previous/next
message, the script refuses to tell me, I am in a new window. Why is
this, since the Title of the window actually is changing? Would there
be any other Event, that will 'see' the changes better? And, why only
in OE? Rest of my software, it seems to work just perfectly. And, yes,
this is all the script, except from all the standard, that Framework
is putting in front of the code. In other words, I created the script
with Framework, and added on the below quoted lines.
Is it my brain, my computer, or OE, that is the tricky thing here?:)
Sub NewWindow( CW )
If CW.Title <> ActiveTitle Then Speak "New Window! "
ActiveTitle = CW.Title
End Sub 'NewWindow.
Dim DWin: Set DWin = DesktopWindow
Dim ActiveTitle
ConnectEvent DWin, "OnChildActivate", "NewWindow"
Thanks alot for all kind assistance!
------------------------------------------------------------------------
I am using the Free version of SPAMfighter
<http://www.spamfighter.com/len>.
We are a community of 7 million users fighting spam.
SPAMfighter has removed 1687 of my spam emails to date.
The Professional version does not have this message.