我使用SetParent将窗口更改为仅消息窗口但是当我尝试使用SetParent恢复窗口时,我要么不让窗口恢复或者大量延迟?示例源代码。
// Change to message-only
HWND newParent = SetParent(currentHandle, HWND_MESSAGE);
// Change back
SetParent(newParent, currentHandle);
答案 0 :(得分:4)
您已将参数反转。要恢复原始父级,您需要:
SetParent(currentHandle, newParent);
请记住,在这两种情况下,您都在更改窗口的父级。因此,SetParent
的第一个参数必须两次都相同。
问题的一部分是您的变量命名不佳。我会这样命名:
// convert to message only
HWND previousParent = SetParent(window, HWND_MESSAGE);
// restore parent
SetParent(window, previousParent);