我将描述需求:
出于报告错误的目的,我们在应用程序中包含了一种用于屏幕视频捕获的方法。
为此,我们使用了一个名为OBS studio的开源库。
在多显示器设置中(几乎 100% 的客户群),我们需要告诉 OBS 要捕获哪个显示器。OBS 使用 DirectX,它可以索引监视器,从 0 开始编号。
我们的应用程序是一个 .net 应用程序。看起来相关的 2 个 API 调用是:
System.Windows.Forms.Screen.FromControl()
and
System.Windows.Forms.Screen.AllScreens
这些静态调用返回一个 Screen 对象或一组屏幕对象(.NET 文档)。
现在的问题:
- 如何找到我的应用程序主窗口的 DirectX 监视器编号(给定 .net“屏幕”),以便我可以要求 OBS 记录它?
- 换句话说,如何从 .NET 映射 AllScreens 数组以监控 DirectX 理解的索引?
和平。