sorry Aaron, but I don't understand your point. yes, I do get a window returned when I filter for title "inbox", don't you? yes, it has a process property, and I think I'm trying to block events for the entire process, not the one window I found, so I don't understand what you're saying?
are you saying I don't want to be doing this? that doesn't address my issue of why I cannot do this, whether I want to, well, I hope to eventually see if it works. Chip -----Original Message----- From: Aaron Smith [mailto:[email protected]] Sent: Tuesday, November 03, 2009 7:49 AM To: [email protected] Subject: Re: getting error when trying to block msaa event Are you entirely sure you're getting the process for the right window? Doing a filter by title with Outlook running and the inbox selected results in an empty collection. I know that you're able to get a process object, meaning you have a collection that's not empty. But I wonder if the window you're blocking events for is really the window you mean to be blocking events for. If it's some hidden window, or window that you don't normally interact with, it's possible you'll see no difference in behavior. Aaron On 11/2/2009 9:39 PM, Chip Orange wrote: > thanks, but in this case I use msgbox to display properties of the process > variable just one or two lines before I call blockEvent. It's possible I'm > passing the wrong type of variable, or in the wrong order, or something, but > it's not empty, that's the one thing I'm sure of. > > here's a simplified example using outlook (which you can change to > anything): > > > dim loWindows, goMPProcess > Set loWindows = DesktopWindow.Children.FilterByTitle ("inbox", fmStartsWith, > false) > if loWindows.count> 0 then > dim goNPWindow > set goMPWindow = loWindows(1) > set goMPProcess = goMPWindow.process > if goMPProcess is nothing then > speak "internal error: unable to get inbox process" > > else > ' block all MSAA events from this process > > blockAllMSAAEvents goMPProcess > > end if > > else ' loWindows.count> 0 > speak "internal error: unable to get inbox window" > end if ' loWindows.count> 0 > > > > sub blockAllMSAAEvents (forProcess) > ' tell window eyes to ignore all MSAA activity from a given process. > > dim i,x > > set x = msaaEventSource > msgbox forprocess.moduleName > > for i = event_SYSTEM_SOUND to event_SYSTEM_MINIMIZEEND ' first group > x.blockEvent i, forProcess > next > > for i = event_CONSOLE_CARET to event_CONSOLE_END_APPLICATION ' second group > x.blockEvent i, forProcess > next > > for i = event_OBJECT_SHOW to event_OBJECT_CONTENTSCROLLED ' third and last > group > x.blockEvent i, forProcess > next > > > end sub > > > > > > > -- 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 GW Micro Technical Support Team. Aaron Smith GW Micro Phone: 260/489-3671 Fax: 260/489-2608 WWW: http://www.gwmicro.com FTP: ftp://ftp.gwmicro.com Technical Support & Web Development
