正在使用检测窗口中的屏幕录制.NET

本文关键字:屏幕 NET 窗口 检测 | 更新日期: 2023-09-27 17:59:50

我正在尝试用C#编写一个应用程序,在那里我可以检测是否有其他应用程序正在Windows中捕获屏幕的视频。我可以查看进程列表并检测某个特定进程是否正在运行,但这并不有效,因为捕获应用程序的进程名称可能会更改。谁能告诉我有没有办法做到这一点吗?谢谢

正在使用检测窗口中的屏幕录制.NET

如果你所要做的只是检测同一台计算机上的进程是否正在录制屏幕,你可能会找到一种方法来做一些事情。许多屏幕录制软件都使用某些API,您可以使用EasyHook或类似软件进行拦截,但您会错过其他工作方式不同的API。

例如,UltraVNC有一个镜像视频驱动程序,您可以安装它,它可以向您发出屏幕更新通知,并直接访问视频帧缓冲区,这非常适合屏幕录制或重铸。您的代码对此将如何反应?

更大的问题是,简单地扫描本地机器不足以保护您的应用程序不被记录。您可以通过混合使用各种技术,如硬件覆盖和HDCP来提高输出难度。

当然,最大的问题是没有办法阻止某人用相机对准他们的显示器。

你最终会花很多时间在开发上,最终没有增加多少安全性。。。给最终用户带来更多不便。决心击败它的人只需要对你的应用程序进行一点代码补丁,或者把手机摄像头指向正确的方向,就可以告别安全。

我觉得很傻。

进程名称可以更改;但您不能更改"主窗口标题"。您可以在运行时考虑众所周知的屏幕捕获程序主窗口标题。