我试图在对话框打开后立即找到它的句柄。
现在,一旦打开对话框,我尝试在单独的线程中为该对话框调用FindWindowEx,但它返回NULL。
然后我在调用FindWindowEx之前先睡一会儿。入睡后一段时间可以工作。
似乎在创建对话框之前就调用了FindWindowEx,并且sleep正在帮助创建对话框,因此有时它可以工作。
现在,我在睡眠中添加了一些随机值。而且它看起来也不是一个好方法,因为它随时可能失败。
是否有任何充分的证明方法,以便我每次可以通过FindWindowEx进行处理而不会使线程进入睡眠状态。
最佳答案
如果您要查找的对话框是您的对话框(即,您控制代码),那么您可以从对话框向您的监视应用程序发送一条消息,说:“哦,嗨!”
如果对话框不属于您,并且您不想旋转,则可以在WM_CREATE消息上create a Windows hook。
关于c++ - FindWindowEx无法找到窗口句柄,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2194533/