双显示器屏幕捕获问题

时间:2014-08-05 12:25:02

标签: c# multiple-monitors system-information monitors

我有双显示器,我正在开发一种可以录制电脑屏幕的产品。目前,我使用以下代码:

Rectangle screenArea = Rectangle.Empty; foreach(System.Windows.Forms.Screen.AllScreens中的System.Windows.Forms.Screen屏幕){ screenArea = Rectangle.Union(screenArea,screen.Bounds); }

不可避免地(在我的情况下)记录整个桌面。使用两个屏幕的宽高比,其中" screenArea"是记录的区域。有没有办法可以指定运行程序的活动监视器?

感谢您的帮助, 克里斯托弗。

1 个答案:

答案 0 :(得分:1)

也许这可能有所帮助。

How do I determine which monitor my .NET Windows Forms program is running on?

此外,还有PrimaryScreen属性:

http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.primaryscreen(v=vs.110).aspx

您可以使用此代码获取一系列屏幕。

Screen[] screens = Screen.AllScreens;

您还可以通过运行此代码来确定您所在的屏幕(这是您所使用的Windows窗体)

Screen screen = Screen.FromControl(this); //this is the Form class

简而言之,请查看Screen类和静态帮助器方法,它们可能会对您有所帮助。

MSDN Link,没有太多......我建议你自己搞乱代码。