回答
我不認爲這是全球可能的,因爲視頻可以通過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