回答
我不认为这是全球可能的,因为视频可以通过DirectX,OpenGL甚至GDI播放。我认为你最好的选择是有一个白色的应用程序列表,用于播放和轮询正在运行的进程。一旦你有了这个过程,你可以尝试找到它的窗口/控件,也许尝试获取HDC并使用合适的(DirectShow最可能)API来查询或操作设备。
当你有一个窗口,简单地调用System.Windows.Forms.Screen会告诉你什么屏幕显示这些坐标。
调查DirectShowSpy从alax.info。这将允许您“侦察”运行DirectShow图形。与GraphStudio等工具配合使用非常有用。
我是一名编写DirectShow应用程序的C++开发人员,并且始终都使用这两种工具,它们是必不可少的调试工具。
谷歌运行对象表的主题。 DirectShow图形(通常)被添加到运行对象表中,因此您可以枚举ROT以确定系统上运行的图形。
您的视频卡将采用DirectShow渲染器过滤器来播放Directshow图形中的视频。渲染器通常由解码器过滤器提供。解码器滤波器执行解码视频的工作,并且它是必须被指示使用DXVA加速的解码器。
因此,例如,您可能在播放图中使用了H.264解码器滤镜,则必须指示它使用DXVA加速。
我的经验是,解码器过滤器将有一个选项来允许您打开/关闭DXVA加速视频解码,但这将是特定于解码器的问题,因此它会更困难以普遍检测。因此,例如,您可能会编写代码来检测DXVA是否通过查询正在解码H.264流的正在运行的图中的解码器过滤器来启用,但是查询解码器过滤器以获取VP8图的代码很可能会不同的代码。
This MSDN link支持我的经验,DXVA加速切换通过解码器过滤器;可能有一些方法来查询显卡,但我认为这将是gfx卡供应商特定的。
对不起的答案是没有更具体的,但我希望这点你在正确的方向...
- 1. iPhone:是否有可能以编程方式制作视频
- 2. 是否可以继续播放视频?
- 3. 是否有任何可以播放视频byteArray流的flex视频播放器?
- 4. 是否有可能以编程方式更改FLV的帧频?
- 5. 如何检查视频或音频文件格式是否可以在iphone中以编程方式播放?
- 6. 是否有可能以编程方式确定ASP.NET MVC的Razor视图模型?
- 7. 是否有可能在UHD上播放UHD(3840x2160)视频?
- 8. 是否可以在Android WebView中播放Facebook直播视频?
- 9. 是否有可能以编程方式捕获iPhone 5S慢动作视频?
- 10. 是否可以使用MPMoviePlayerViewController从正在编写的文件播放视频?
- 11. PhoneGap是否有视频播放器?
- 12. 是否可以自定义本地播放器HTML5视频?
- 13. 如何以编程方式确定ehcache是否正在运行?
- 14. 如何以编程方式确定Windows是否正在关机?
- 15. 以编程方式确定IIS站点是否正在运行
- 16. 是否有可能以编程方式指定<uses-permission>?
- 17. 以编程方式检查YouTube视频链接是否有效?
- 18. 是否有可能在PHP,以确定是否预浸模式是有效的
- 19. SQL:以编程方式确定表是否为视图
- 20. 是否可以在Raspberry Pi上播放360视频?
- 21. 检测本地视频是否可以在html5中播放?
- 22. 是否可以在后台使用videoview播放视频? (android)
- 23. 是否可以在谷歌浏览器中播放m3u8视频?
- 24. 是否可以在浏览器上播放HTTP Live视频? 2012
- 25. 音频是否正在播放? (Android)
- 26. 是否有可能以编程方式在Cocoa中打印IKImageBrowserView?
- 27. 是否有可能在QT应用程序中播放透明视频
- 28. 如何检测是否有任何视频正在播放?
- 29. 以编程方式确定* .ts视频文件是否使用AES加密128
- 30. 以编程方式暂停YouTube和vimeo并检测视频是否正在播放
你在说什么检测,如果是打在网站上?或只是一般? – Jason 2011-02-10 02:53:04