我有双显示器,我正在开发一种可以录制电脑屏幕的产品。目前,我使用以下代码:
Rectangle screenArea = Rectangle.Empty; foreach(System.Windows.Forms.Screen.AllScreens中的System.Windows.Forms.Screen屏幕){ screenArea = Rectangle.Union(screenArea,screen.Bounds); }
不可避免地(在我的情况下)记录整个桌面。使用两个屏幕的宽高比,其中" screenArea"是记录的区域。有没有办法可以指定运行程序的活动监视器?
感谢您的帮助, 克里斯托弗。
答案 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,没有太多......我建议你自己搞乱代码。