0

我有一个 3rdparty 应用程序(目标),它创建一个窗口。我通过设置父级、更改样式等将该窗口嵌入到我自己的应用程序中。

问题是 Spy++ 显示目标接收 WM_DESTROY 两次(以防我关闭我的应用程序)。有时这会导致目标崩溃。我想了解,为什么消息队列包含 2 个与目标窗口关联的 WM_DESTROY(顺便说一句,只有 1 个 WM_NCDESTROY)。

为此,我在 DestroyWindow、PostMessage 系统调用处设置了断点,但这些函数似乎没有为主目标窗口调用(第一个仅对子窗口调用,第二个 - 具有不同的消息,WM_DESTROY 除外)。我在我的流程和目标流程的背景下做到了这一点。

所以问题是,是否有任何低级函数将消息放入线程消息队列?我想在它上面放断点,并在额外的 WM_DESTROY 放在那里的时候捕捉一下。像 PostThreadMessageInternal...

提前致谢!

4

0 回答 0