SamuelKerschbaumer Posted April 15, 2008 Share Posted April 15, 2008 (edited) Hi. I have a sightly complicated problem. Please read the post carefully before answering. I want to find the "active modal" window of an application, whereas "active modal" is defined as: - the window is modal - you can actually interact with the window, that means that no other modal window blocks that window. Things that don't work: WinGetHandle("") - return the system wide active window, and not the "active modal" window of an application. My ideas: 1. Find a modal window: w: IsModal(w) 2. Enusure w is not blocked by another modal window: there exists no c: IsModal© and owner© contains w whereas owner© return all owner windows of c recursively. The check for modality could check if a window has DS_MODALFRAME or WS_EX_MODALFRAME style. I am not 100%ly sure which one to use. Sounds very complicated, right. Is there a easier way to do it? Is my way working at all? The thing I want to achieve with this: I want to check if there is a error/warning message box present for a given application. Any ideas? Regards! Edited April 15, 2008 by SamuelKerschbaumer Link to comment Share on other sites More sharing options...
EndFunc Posted April 15, 2008 Share Posted April 15, 2008 Hi.I have a sightly complicated problem. Please read the post carefully before answering.I want to find the "active modal" window of an application, whereas "active modal" is defined as:- the window is modal- you can actually interact with the window, that means that no other modal window blocks that window.Things that don't work:WinGetHandle("") - return the system wide active window, and not the "active modal" window of an application.My ideas:1. Find a modal window:w: IsModal(w)2. Enusure w is not blocked by another modal window:there exists no c: IsModal© and owner© contains wwhereas owner© return all owner windows of c recursively.The check for modality could check if a window has DS_MODALFRAME or WS_EX_MODALFRAME style.I am not 100%ly sure which one to use.Sounds very complicated, right. Is there a easier way to do it? Is my way working at all?The thing I want to achieve with this:I want to check if there is a error/warning message box present for a given application.Any ideas?Regards!You could use WinExist(), if you know the info for the error message window. EndFuncAutoIt is the shiznit. I love it. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now