我試圖找到一個對話框,只要它打開它的句柄。FindWindowEx無法找到窗口句柄
現在只要打開對話框,我嘗試在單獨的線程中爲該對話框調用FindWindowEx,但它返回NULL。
然後在調用FindWindowEx之前先進行一些睡眠。它在睡覺後有一段時間有效。
即使在創建對話框之前,它看起來像是FindWindowEx,並且睡眠有助於創建對話框,因此它有時會工作。
現在我已經把一些隨機值放在睡眠中。而且它看起來不是一個好方法,因爲它隨時都可能失敗。
是否有任何完整的證明方法,以便每次通過FindWindowEx都可以處理,而無需讓線程進入睡眠狀態。
如何通知後臺線程調用FindWindowEx - 可能它是兩個線程之間的競態條件? – Ruddy 2010-02-03 18:53:46
是的 - 你應該讓我們知道你的意思是「一旦它打開」。看起來你在實際創建對話框之前調用了'FindWindowEx()',因此可能有更好的方式來指示何時查找對話框,而不是現在正在使用的對話框。 – 2010-02-03 19:03:46