貌似这个比较复杂,
第一步:找句柄。先根据窗口名字找到在下面的那个窗口的句柄,用api findwindow
第二步,放钩子。用获得的句柄给那个窗口放一个钩子,截获WM_SIZE消息,用api setwindowshook。
第三部,获得该窗口位置。截获WM_SIZE消息后,获得下面窗口的位置 , 用api getwindowrect '若果我没有记错的话,应该是这个api
第四步:调整本窗口的位置。根据上一步获得的窗口位置,调整本窗口的位置,用api setwindowslong。
第五步:将信息传回给下面窗口。WM_SIZE消息放还给下面窗口,不然下面窗口就不动了。貌似用到的api是 CallNextHookEx.
最后一步:退出程序的时候不要忘记释放钩子,api UnhookWindowsHookEx
以上给个思路,api、钩子不懂的去百度下,会有很详细的解说。
其实核心是放钩子,取得下面窗口变更大小和位置时候的消息。
如果那个窗口不动的话完全可以省略放钩子的过程,直接取得窗口位置就可以了。