【发布时间】:2012-07-20 22:25:14
【问题描述】:
考虑这种情况:
- 在多显示器系统上,
- 应用程序被最大化,然后最小化,
- 在我的应用程序中,我有上述应用程序主窗口的 HWND
现在,我如何确定从最小化状态恢复时窗口将显示在哪个监视器上? GetWindowRect 和 GetWindowInfo 产生负值,并且显然对于所有监视器都是相同的。 GetWindowPlacement 在 rcNormalPosition 中提供了很好的值,但这些是应用程序在未最大化时返回的坐标,可能部分或全部在另一个监视器上。
【问题讨论】:
-
这个我没试过,但是
WINDOWPLACEMENT.ptMaxPosition不给你答案吗? -
不,那些负值与我从 GetWindowRect 和 GetWindowInfo 得到的负值相同
-
负值并不意味着它们是错误值。虚拟桌面包含具有负坐标值的点。
-
如果应用程序在任一监视器上时负值不同,我会尝试理解它们。由于它们在两台显示器上都相同,因此我认为我无法找到我正在搜索的内容。