Take a gander through the class that we have that does work. Perhaps it will 
help. I pulled this from the project mentioned earlier:

www.gwmicro.com/special/MyWindowEyes.cs

Thanks,

Aaron

--
Aaron Smith
Web Development * App Development * Product Support Specialist
Ai Squared * 725 Airport North Office Park, Fort Wayne, IN 46825
260-489-3671 * www.aisquared.com

To insure that you receive proper support, please include all past 
correspondence (where applicable), and any relevant information pertinent to 
your situation when submitting a problem report to the Ai Squared Technical 
Support Team.

From: Yaling Liu [mailto:yaling.l...@yahoo.com]
Sent: Tuesday, December 1, 2015 3:16 PM
To: Aaron Smith <asm...@aisquared.com>; Window-Eyes Scripting List 
<scripting@lists.window-eyes.com>
Subject: Re: Cannot handle OnObjectFocus event in external csharp app

I tried it in DesktopWindow_OnChildActivate, where I know my specific app 
window becomes active, and I have the ChildWindow.Process. Still the same 
issue: the focus event is trapped, but the OnObjectFocus event handler is not 
invoked. Are there any specifics for how myMSAAEventSource should be obtained 
and how myMSAAEventSource_OnObjectFocus should be defined?



On Tuesday, December 1, 2015 10:45 AM, Aaron Smith 
<asm...@aisquared.com<mailto:asm...@aisquared.com>> wrote:

Yes, that would be my guess. We have a custom app that blocks/hooks focus for a 
specific application. It hooks window focus, and when it finds a window that it 
wants to act upon, it does this:

                                                myMSAAEventSource.Process = 
ChildWindow.Process;
                                                blockedFocusEvent = 
myMSAAEventSource.BlockEvent(WindowEyes.MSAAEventID.event_OBJECT_FOCUS, 
ChildWindow.Process);
                                                myMSAAEventSource.OnObjectFocus 
+= myMSAAEventSource_OnObjectFocus;

So it does seem like the process that you’re using is not the right one.

Thanks,

Aaron

--
Aaron Smith
Web Development * App Development * Product Support Specialist
Ai Squared * 725 Airport North Office Park, Fort Wayne, IN 46825
260-489-3671 * www.aisquared.com<http://www.aisquared.com>

To insure that you receive proper support, please include all past 
correspondence (where applicable), and any relevant information pertinent to 
your situation when submitting a problem report to the Ai Squared Technical 
Support Team.

From: Yaling Liu [mailto:yaling.l...@yahoo.com]
Sent: Tuesday, December 1, 2015 11:26 AM
To: Aaron Smith <asm...@aisquared.com<mailto:asm...@aisquared.com>>; 
Window-Eyes Scripting List 
<scripting@lists.window-eyes.com<mailto:scripting@lists.window-eyes.com>>
Subject: Re: Cannot handle OnObjectFocus event in external csharp app

I deleted the line of setting msaaEventSource.Process, still not seeing 
differences. My script app is loaded from the App Manager for a specific app 
only, not global. I think the focus event is trapped correctly, since 
Window-Eyes doesn't read anything when I am navigating in the specific app but 
it reads as usual for all other apps. I am guessing the 2nd parameter of the 
BlockEvent call isn't right, but I don't know how to fix it.

Other event handlers in my script app work, for instance, when I do:  
weapp.Speech.OnSpeak += Speech_OnSpeak, the handler is invoked as expected.


On Tuesday, December 1, 2015 9:35 AM, Aaron Smith 
<asm...@aisquared.com<mailto:asm...@aisquared.com>> wrote:

I would start by omitting the process property to ensure that you are getting 
all focus events. Then you can set it once you locate the process for the 
application you’re interested in. Is your app loaded through the App Manager as 
a global app or a program specific app?

Thanks,

Aaron

--
Aaron Smith
Web Development * App Development * Product Support Specialist
Ai Squared * 725 Airport North Office Park, Fort Wayne, IN 46825
260-489-3671 * www.aisquared.com<http://www.aisquared.com/>

To insure that you receive proper support, please include all past 
correspondence (where applicable), and any relevant information pertinent to 
your situation when submitting a problem report to the Ai Squared Technical 
Support Team.

From: Yaling Liu [mailto:yaling.l...@yahoo.com]
Sent: Tuesday, December 1, 2015 10:14 AM
To: Aaron Smith <asm...@aisquared.com<mailto:asm...@aisquared.com>>; 
Window-Eyes Scripting List 
<scripting@lists.window-eyes.com<mailto:scripting@lists.window-eyes.com>>
Subject: Re: Cannot handle OnObjectFocus event in external csharp app

I want to be notified for the focus events of the app that the external script 
is developed and loaded for. I tried to change the line to be the following, 
but didn't see any difference. Where can I get the app process object?

msaaEventSource.Process = weapp.ClientInformation.ApplicationProcess;


On Tuesday, December 1, 2015 7:45 AM, Aaron Smith 
<asm...@aisquared.com<mailto:asm...@aisquared.com>> wrote:

By setting the EventSource Process property to your own process, you're telling 
Window-Eyes to only notify you about focus events in your own assembly.

Is that what you're attempting to do?

Aaron

--
Aaron Smith
Web Development * App Development * Product Support Specialist
Ai Squared * 725 Airport North Office Park, Fort Wayne, IN 46825
260-489-3671 * www.aisquared.com<http://www.aisquared.com/>

To insure that you receive proper support, please include all past 
correspondence (where applicable), and any relevant information pertinent to 
your situation when submitting a problem report to the Ai Squared Technical 
Support Team.

> -----Original Message-----
> From: Scripting [mailto:scripting-
> bounces+asmith=aisquared....@lists.window-eyes.com<mailto:aisquared....@lists.window-eyes.com>]
>  On Behalf Of
> Yaling Liu via Scripting
> Sent: Monday, November 30, 2015 7:12 PM
> To: scripting@lists.window-eyes.com<mailto:scripting@lists.window-eyes.com>
> Subject: Cannot handle OnObjectFocus event in external csharp app
>
> I am modifying the first C# example at:
> https://www.gwmicro.com/App_Central/Developers/C-Sharp/, added the
> following code in MyWindowEyes.cs. msaaEventSource and blockEvent are
> member variables of MyWindowEyes.cs. The focus event handler
> MSAAEventSource_OnObjectFocus does not work. It's not called. I know the
> BlockEvent method is executed correctly because when tabbing through
> buttons, Window-Eyes does not read anything.
>
> public bool Init() {    ...    msaaEventSource = weapp.MSAAEventSource;
>     msaaEventSource.Process = ci.ApplicationProcess;
>     blockEvent =
> msaaEventSource.BlockEvent(WindowEyes.MSAAEventID.event_OBJECT_F
> OCUS, ci.ApplicationProcess);
>     msaaEventSource.OnObjectFocus +=
> MSAAEventSource_OnObjectFocus;    ...
> }
> void MSAAEventSource_OnObjectFocus(WindowEyes.Accessible Accessible)
> {
>     Program.wineyes.weapp.Speech.Silence();
>     Program.wineyes.weapp.Speech.Speak("hello world");}
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.window-eyes.com/private.cgi/scripting-window-
> eyes.com/attachments/20151201/2cf4d8c5/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-<http://lists.window-/>
> eyes.com/options.cgi/scripting-window-
> eyes.com/asmith%40aisquared.com.

> For subscription options, visit http://lists.window-<http://lists.window-/>
> eyes.com/listinfo.cgi/scripting-window-eyes.com
> List archives can be found at http://lists.window-<http://lists.window-/>
> eyes.com/private.cgi/scripting-window-eyes.com



-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com/attachments/20151201/b9bd834d/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/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