I'm using ADR ActiveX component running inside windows service. Sometimes user supplies invalid/outdated files, which can't be processed. ADR component issues a popup "your current version of design review does not support files of this type" which lead my service to stop working.
After telling a lot of time the impersonal word "пид@расы", I'v decided to start another thread which periodically check all process window handles and send WM_CLOSE to those windows which could not be here at this moment. It's ugly, but it works. Maybe it will help to somebody.