如何以编程方式确定我的桌面的大小?

问题描述:

我试图保存/恢复窗口的大小,状态和System::Windows::Forms::Form的位置,并且想要确保如果窗口以前在另一台显示器上,并且只有snogle显示器可用时启动该应用程序,那么它将自己置于屏幕上某处。如何以编程方式确定我的桌面的大小?

那么如何确定当前的桌面大小以及我的应用程序是否超出界限呢?

+0

可能重复的[C#:获取完整的桌面大小?](http://stackoverflow.com/questions/1317235/c-get-complete-desktop-size) – 2010-06-23 14:27:17

实际上,最好的解决方案是在user32.dll中使用本地方法GetWindowPlacementSetWindowPlacement。这些自动处理所有的边缘情况。

使用它们的示例WPF实现可以在http://jake.ginnivan.net/2010/04/remembering-wpf-windows-position-2/找到从此你可以为WinForms做同样的事情。

+0

+ 1 /接受..虽然到时候我读这个,我已经推出了自己的:-) – 2010-06-23 18:51:33

你看过Screen班吗?

Screen.WorkingArea属性会给你显示器的桌面大小。