怎样判断一个线程处于模态循环?
如题。
具体的问题是这样,两个独立的线程A和B。B是一个前台窗口线程。B有时会调用 MessageBox() 或 DialogBox() 弹出模态的消息框或者对话框。
因为线程A的某一项操作取决于B是否处于模态循环中,所以需要事先得知。
现在的问题就是,怎样得知B是否处于模态循环(即有模态窗口打开)呢?
希望不要用 FindWindow() 之类的方法解决,能不能从模态循环的机制上入手,予以解决?
另外,还想了解一下,模态循环与非模态循环消息处理上的区别。因为调试发现,在模态循环中,消息不经过 GetMessage() 的,然而窗口过程却能被调用,那么是谁调用的呢?