我试图找到一个对话框,只要它打开它的句柄。FindWindowEx无法找到窗口句柄
现在只要打开对话框,我尝试在单独的线程中为该对话框调用FindWindowEx,但它返回NULL。
然后在调用FindWindowEx之前先进行一些睡眠。它在睡觉后有一段时间有效。
即使在创建对话框之前,它看起来像是FindWindowEx,并且睡眠有助于创建对话框,因此它有时会工作。
现在我已经把一些随机值放在睡眠中。而且它看起来不是一个好方法,因为它随时都可能失败。
是否有任何完整的证明方法,以便每次通过FindWindowEx都可以处理,而无需让线程进入睡眠状态。
如何通知后台线程调用FindWindowEx - 可能它是两个线程之间的竞态条件? – Ruddy 2010-02-03 18:53:46
是的 - 你应该让我们知道你的意思是“一旦它打开”。看起来你在实际创建对话框之前调用了'FindWindowEx()',因此可能有更好的方式来指示何时查找对话框,而不是现在正在使用的对话框。 – 2010-02-03 19:03:46