我有双显示器,我正在开发一款可以让您录制计算机屏幕的产品。目前,我正在使用以下代码:
矩形屏幕区域 = Rectangle.Empty; foreach(System.Windows.Forms.Screen 屏幕在 System.Windows.Forms.Screen.AllScreens){ screenArea = Rectangle.Union(screenArea, screen.Bounds);
这不可避免地(在我的例子中)记录了整个桌面。使用两个屏幕的纵横比,其中“screenArea”是正在记录的区域。有没有一种方法可以指定运行程序的事件监视器?
感谢您的帮助, 克里斯托弗。
最佳答案
也许这会有所帮助。
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;
您还可以通过运行此代码(这是您所在的窗口窗体)来确定您所在的屏幕
Screen screen = Screen.FromControl(this); //this is the Form class
简而言之,查看 Screen 类和静态辅助方法,它们可能会对您有所帮助。
MSDN 链接,没有太多..我建议自己在代码中乱搞。
关于c# - 双显示器屏幕捕获问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25138784/