我正嘗試在C#中編寫一個應用程序,我可以檢測到另一個應用程序是否正在Windows中捕獲屏幕的視頻。我可以查看進程列表並檢測特定進程是否正在運行,但由於捕獲應用程序的進程名稱可以更改,因此效率不高。任何人都可以告訴我是否有任何方法可以做到這一點?謝謝 !使用.NET在窗口中檢測屏幕錄製文件
4
A
回答
3
如果你正在試圖做的一切是檢測在同一臺計算機上的進程是否正在記錄你也許可以找到一種方法,這樣做對一些東西的畫面。許多屏幕錄製軟件都使用某些API,您可以使用EasyHook或類似的軟件截取這些API,但是您會錯過其他工作方式不同的其他API。
鳥哥例如有一個鏡子的視頻驅動程序,您可以安裝,讓你的屏幕更新的通知以及直接訪問視頻幀緩衝區,這是偉大的屏幕錄製或重鑄。你的代碼如何對此作出反應?
更大的問題是,簡單地掃描本地計算機不足以保護您的應用程序不被記錄。您可以通過混合硬件覆蓋和HDCP等各種技術爲您的輸出增加難度。
當然最大的問題是,沒有辦法阻止某人將相機指向顯示器。
你將結束與很多花在發展沒有太大的增加安全性的最終結果的時間......和多一點不便給最終用戶。而有人決心擊敗它只需要爲你的應用程序做一點代碼補丁,或者將手機攝像頭指向正確的方向,這是安全的再見。
對我來說似乎很愚蠢。
+0
感謝您的答覆,有沒有關於使用這些API的文檔? – user3566885
0
進程名稱可以更改;但你不能改變「主窗口標題」。 您可以在運行時考慮衆所周知的屏幕捕獲程序主窗口標題。
相關問題
- 1. 屏幕捕獲窗口.NET控件/庫
- 2. 使用窗口ID在屏幕上製作窗口
- 3. 使用QuickTime播放器的iOS檢測/屏蔽屏幕錄製
- 4. autoit:在If語句中檢測窗口屏幕分辨率
- 5. 在窗口的登錄屏幕
- 6. 複製所有屏幕中的窗口
- 7. 檢測屏幕/應用程序窗口的哪一部分正在使用OpenGL?
- 8. iphone中的屏幕錄製文件
- 9. .NET屏幕對象觸摸檢測
- 10. 檢測屏幕
- 11. 屏幕上對中窗口
- 12. 屏幕中心窗口
- 13. 使用.net託管代碼屏幕抓取命令窗口
- 14. 屏幕記錄單個窗口
- 15. sdl屏幕UTF8屏幕窗口標題
- 16. 當用戶在帶打印屏幕的窗口中拍攝屏幕截圖時,是否檢測到?
- 17. GNU屏幕源爲新窗口定製bashrc文件
- 18. 擴展/重寫jquery.ajax.done函數來檢測.net登錄屏幕
- 19. 檢測控制檯窗口?
- 20. 禁用sipp中的屏幕窗口
- 21. 在Windows XP中使用C#在登錄屏幕上顯示窗口
- 22. 檢測窗口全屏運行
- 23. 如何檢查窗口是否在Tkinter的全屏幕中?
- 24. 窗口大於屏幕
- 25. 創建窗口到屏幕
- 26. 全屏幕TOPMOST窗口
- 27. 屏幕抓取窗口
- 28. WPF初始屏幕窗口
- 29. 窗口的屏幕截圖
- 30. 捕獲屏幕截圖包括.NET中的半透明窗口
這篇文章的一些答案可能對你有用:http://stackoverflow.com/questions/6083261/tracking-screen-recorder-in-windows-app?rq=1 – ravuya
不 - 如果是的話遠程桌面或其他類似的可視化視頻卡? [HDCP](http://en.wikipedia.org/wiki/HDCP)唯一可能接近於防止未經授權錄製的內容。 –
@ravuya,感謝您的答覆,我想檢查線程,但沒有具體的有提到 – user3566885