2009-11-11 46 views
2

我需要編寫一個.NET應用程序,定期捕獲各種網頁的屏幕截圖。應用程序需要以無人值守模式運行爲Windows服務 - 當沒有用戶會話或工作站被鎖定時。類似於(Screenshot of process under Windows Service)的情況,我只需要在網頁上執行此操作而不是進程。如何在無人蔘與模式下捕捉網站的屏幕截圖?

當我嘗試使用PrintWindow API時,我能夠捕獲不活動或隱藏的窗口,但在工作站被鎖定時會獲取黑色圖像。試過這種方法(www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic34231.aspx),但不起作用。

我知道這是可能的,因爲有像WebShot(www.websitescreenshots.com)這樣的應用程序能夠做到 - 即使在工作站被鎖定或作爲服務運行時,也可以捕獲網頁的屏幕截圖。

我錯過了什麼?我如何得到這個工作?

非常感謝您的時間。

編輯:更多關於我的方法 - 我使用以編程方式創建的.NET WebBrowser控件。我在瀏覽器控件中加載網頁,並使用PrintWindow API從中捕獲圖像。這是我能夠做到的,不管控件是否可見,但是當工作站被鎖定時它會讓我失望。

回答