考虑这种情况:
- 在多监视器系统上
- 应用程序被最大化、然后被最小化
- 在我的申请中,我有上述申请主窗口的HWND
现在,我如何确定从最小化状态恢复时窗口将显示在哪个监视器上?GetWindowRect和GetWindowInfo会产生负值,显然所有监视器都是一样的。GetWindowPlacement在rcNormalPosition中提供了很好的值,但这些是应用程序在未最大化时返回的坐标,可能部分或全部位于另一个监视器上。
尝试带有rcNormalPosition
和MONITOR_DEFAULTTONEAREST
标志的MonitorFromRect
函数。之后,调用GetMonitorInfo
来确定工作监视器区域。