当我得到它的句柄时,我想检测一个窗口显示在哪个屏幕上。我SetWindowPos()
在 Win API 中找到了一个函数,但不幸的是不GetWindowPos()
只是 a GetWindowRect()
,但这会产生一些奇怪的值。
我有两台设备,左边一台 1280x1024,右边一台(主要)1680x1050。当我想获得最小化 Firefox 的位置时,我会在任一屏幕上获得 b/l/r/t -31973/-32000/-31840/-32000。
我怎么知道这是我的左屏还是右屏?
尝试GetWindowPlacement
,以便找到窗口在恢复后将使用的矩形。
WinAPI 有一个MonitorFromRect
函数,这可能是你需要的。我不确定是否有 C# 等价物,但您可以通过互操作调用它。
请注意,该窗口可以在两个监视器上,也可以不在两个监视器上。API 有相应的标志,例如MONITOR_DEFAULTTONEAREST
.