如何确定是否使用Aero Snap 功能调整了窗口大小?GetWindowPlacement
函数给出最新的“恢复”窗口大小。我使用它如下:
WINDOWPLACEMENT wp = {};
wp.length = sizeof(WINDOWPLACEMENT);
::GetWindowPlacement( hWnd, &wp );
例如,它给出wp.rcNormalPosition = {top=208 bottom=520 left=152 right=510}
,当它应该是
{top=0 bottom=1920 left=152 right=510}
。
请注意,那是我的错,GetWindowRect
给出完全相同的错误结果。GetWindowRect
给出了正确的结果。
我需要在程序退出时保存窗口状态并在启动时加载它,所以我需要知道窗口是如何放置的。如何找出实际的窗口坐标?
好吧,我用notepad.exe
(和一些其他标准的 Windows 组件)做了几个测试,它以同样的方式保存它的状态——它不记得它是否被“捕捉”了。所以我想这是 Windows 程序的预期行为。