【发布时间】:2011-12-04 00:22:28
【问题描述】:
我想在第二台显示器中移动一个窗口 (HWND)。问题是我尝试了很多方法,例如将分辨率加倍或设置负值,但始终无法将窗口放在我的第二台显示器上。
在 C/C++/c# 中如何做到这一点的任何线索
【问题讨论】:
-
请选择一种语言和一种框架。
我想在第二台显示器中移动一个窗口 (HWND)。问题是我尝试了很多方法,例如将分辨率加倍或设置负值,但始终无法将窗口放在我的第二台显示器上。
在 C/C++/c# 中如何做到这一点的任何线索
【问题讨论】:
桌面布局是用户可配置的,第二台显示器可以位于左侧、右侧、上方、下方,或者与主显示器相比位置奇怪。
GetMonitorInfo 函数将帮助您找出第二台显示器在虚拟屏幕坐标中的位置。 As @holtavolt mentioned,.NET Screen 类是一个方便的包装器。
【讨论】:
Screen 和 Form.StartPosition 应该可以让您到达那里。
查看这篇文章的第一个答案(对于 C#/WinForms 解决方案):How do I ensure a form displays on the "additional" monitor in a dual monitor scenario?
【讨论】: