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