【问题标题】:Control and Detect Web-cam access by any running process控制和检测任何正在运行的进程对网络摄像头的访问
【发布时间】:2011-03-14 14:45:15
【问题描述】:

我想检测任何正在运行的进程对连接的网络摄像头的访问并控制该访问,以便我可以授予或拒绝访问。 我正在使用 dot net 并且在 windows API 方面有一些经验。

【问题讨论】:

  • 你能更具体地说明你真正想要做什么吗?如果您可以挂钩网络摄像头访问权限,您的代码将如何决定“授予访问权限或拒绝访问权限”?我有一些想法,但都不容易,但我想在写之前了解更多。
  • 我需要防止任何正在运行的进程对网络摄像头进行不受欢迎的访问,所以当任何进程想要使用网络摄像头时,我会弹出一个消息框告诉用户有一些过程需要使用您的网络摄像头并征求他的许可。我希望现在很清楚!

标签: c# windows api webcam


【解决方案1】:
  1. 如果您只关心使用 DirectShow 的应用程序(这是通常的情况),您可能会实现一个代理视频帧的虚拟 DirectShow 源过滤器。这假设您关心的应用程序可以配置为使用您的过滤器而不是本机过滤器。

  2. 实现 USB 过滤器驱动程序。需要在 C 和内核模式编程中编程。如果你探索这个建议,你需要非常小心。否则,您可能会破坏其他供应商设备的驱动程序堆栈。

在这两种情况下,当您检测到正在打开的驱动程序时,将通过的所有帧替换为常用的“黑框”,直到您的用户模式应用(在桌面上运行)完成提示用户。 (您的用户模式应用程序会以某种方式向过滤器发出用户“允许”该操作的信号。)您可能需要支持 RGB、MJPG 和 YUV/I420 的不同帧大小。

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多