child window 可以知道 parent window 何时移动吗?

Can a child window know when parent window is moved?

我开发了一个从第三方应用程序加载的 dll。
该应用程序没有向我提供任何事件,例如 WM_SIZE、WM_MOVE 等
我的 dll 显示一个 window(对话框),它是主应用程序的 child。
我希望我的 window 应该在主应用程序调整大小或移动时移动。
我怎样才能做到这一点?正如我所说,主应用程序不提供任何 WM_SIZE 或 WM_MOVE 事件。
有没有办法使用应用程序句柄订阅应用程序的事件?
或者 child window 可以在没有这些事件的情况下知道主应用程序何时移动或调整大小吗?

如果 window 具有样式 WS_CHILD,则当父项移动时,它永远不会收到 WM_MOVE 或 WM_SIZE 消息!

为什么要这样做?它的位置(相对于父级)和大小不会改变。此外,OS Windows 负责通过揭开 window.

的部分进行的任何重绘。

因此,当您说 window 应该随父级一起移动而它没有移动时,window 不是父级的子级。 (样式 WS_CHILD)。用 Spy++ 重新检查。或者,也许您只有一个拥有的 window。 (你的问题不够详细)

如果您有一个非 WS_CHILD window 并且您希望它与另一个 window 一起移动,您可以使用计时器重新检查另一个 window 是否移动.或者,如果 window 在同一个进程中,您可以将 window 和 post 子类化,当父级收到 WM_SIZE/WM_MOVE 时,您自己的消息会发送给您的 window。