[英]Screen capture from windows service
我有基於 DirectShow 的屏幕捕獲軟件。 它在內部調用 CopyScreenToBitmap function 來抓取屏幕。 然后圖片經過ffdshow壓縮。 它作為桌面應用程序工作正常,但作為 window 服務,在某些計算機上它不起作用(黑色圖片)。 我已設置“允許服務與桌面交互”並在當前用戶帳戶上運行該服務。 任何想法可能是錯誤的?
我在 windows XP 上對其進行了測試,但預計它也可以在 Vista 和 7 上運行。
是的,它在所有計算機上都作為桌面應用程序工作,但在其中一些(在大多數計算機上)它作為服務失敗了。
據我了解,Vista 中進行了更改,將服務從控制台用戶移至單獨的桌面。 雖然您勾選了“允許訪問”桌面的框,但我認為您仍然必須務實地切換您的服務以使用該桌面。
除了允許訪問桌面之外,還可以試試這個:
然后使用幾種方法之一獲取桌面的 DC,包括
CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)
祝你好運
您是否測試過桌面應用程序在作為服務失敗的同一台計算機上是否成功?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.