如何检测桌面上是否“停靠”了一个窗口?

时间:2019-05-24 09:53:18

标签: winapi

例如,当用户按下Windows-RightArrow时,窗口的大小将调整为监视器宽度的一半,并调整为全高,然后“停靠”在监视器的右半部分({{3} }。

问题是,是否有可能检测到处于这种状态或处于这种状态。

很奇怪,可以从WM_WINDOWPOSCHANGING和其他情况中推论,对照显示器区域进行检查,什么没有,但是有没有更清洁的解决方案?

1 个答案:

答案 0 :(得分:0)

要复制我上面的评论-

看来rcNormalPosition中的WINDOWPLACEMENT保存了原始(预先放置)的窗口位置。因此,只要将其与窗口的有效矩形进行比较,就会显示出窗口是否处于“特殊”状态。然后,我们只需要查看showCommand-如果它是SW_SHOWNORMAL,那么我们就处于停靠状态。