c# - 双显示器屏幕捕获问题

标签 c# multiple-monitors system-information monitors

我有双显示器,我正在开发一款可以让您录制计算机屏幕的产品。目前,我正在使用以下代码:

矩形屏幕区域 = 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/

相关文章:

java - 获取远程机器的系统信息(使用 Java)

c# - 代码在 Visual Studio 中编译和运行,即使它具有未引用的类的名称

c# - 获取存储在 VirtualStore 中的日志文件的真实路径

c# - 在 WPF 中使用附加属性

java - 如何使用 java 或 shell 脚本查找 unix/linux 系统信息?

go - golang执行命令出错

c# - Asp.Net WebApi。 HttpPost 是默认的?

requirements - 支持多显示器

javascript - 在多台显示器上最大化 Adob​​e Air 窗口

linux - 在不同的显示器上启动两次 firefox