Mau*_*gan 11 winapi windows-7 aero-snap
假设我有一个窗口,我想在窗口关闭时保存它的位置,并在窗口再次打开时恢复它.执行此操作的典型方法是调用GetWindowPlacement/SetWindowPlacement.这需要记住位置和最大化/最小化状态.
在Windows 7上,您可以使用"Aero Snap"功能将窗口停靠在屏幕的一侧.我的问题是如何保存和恢复已被"捕捉"的窗口,以便您可以恢复"快照"状态.GetWindowPlacement/SetWindowPlacement没有解决这个问题(据我所知),我还没有在Windows 7中看到任何"Snap"API.
这里有一个类似的问题 如何检测窗口是否被Windows7调整大小,但在这种情况下,似乎OP只是想要恢复位置,而不是"Snap"状态.
解决方法是调用GetWindowRect()以获取实际的窗口坐标并将其复制到错误的坐标中WINDOWPLACEMENT::rcNormalPosition.