jjzjj

WINDOWPOSCHANGED

全部标签

c++ - Windows 在 WM_WINDOWPOSCHANGED 中挂起

我有一个DirectX9应用程序偶尔会在WM_WINDOWPOSCHANGED中挂起。当alt+tab键进入和退出全屏独占模式时,挂起很少发生。应用程序挂起是因为主窗口消息处理线程卡在DefWindowProc处理程序中的WaitForSingleObject()处。我们创建的其他线程运行正常。卡住的主线程上的调用堆栈:ntdll.dll!_NtWaitForSingleObject@12()+0x15bytesntdll.dll!_NtWaitForSingleObject@12()+0x15byteskernel32.dll!_WaitForSingleObjectExImplem

windows - 在 Windows 上,当我的子窗口的 z 顺序相对于其 sibling 之一发生变化时,它是否应该获得 WM_WINDOWPOSCHANGED?

我正在尝试将自定义小部件插入到InternetExplorer8网址栏中,位于停止和重新加载按钮旁边。这只是我个人生产力的提升。IE框架这部分的“窗口模型”是一个“地址栏根”窗口,它拥有包含IE8网址栏的窗口:一个编辑框、一个组合控件以及停止和重新加载按钮。在另一个进程中,我创建了一个新的WS_CHILD窗口(具有自定义类名),它是IE的地址栏根窗口的父级,因此使其成为编辑框的同级窗口并停止/重新加载。我用HWND_TOP的hwndInsertAfter调用SetWindowPos以确保它出现在urlbar的“上方”(即“在”中)。这很好用,我看到我的窗口最初是在IEurlbar中绘制