我需要编写一个.NET 应用程序来定期捕获各种网页的屏幕截图。应用程序需要在无人值守模式下作为 Windows 服务运行 - 当没有用户会话或工作站被锁定时。类似的情况:(Windows服务下的进程截图),只是,我需要在网页而不是进程上执行此操作。
当我尝试使用 PrintWindow API 时,我能够捕获非活动或隐藏的窗口,但在工作站被锁定时会获得黑色图像。尝试了这种方法(www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic34231.aspx)但不起作用。
我知道这是可能的,因为有像 WebShot (www.websitescreenshots.com) 这样的应用程序能够做到这一点 - 即使在工作站被锁定或作为服务运行时也可以捕获网页的屏幕截图。
我错过了什么?我怎样才能让它工作?
非常感谢您的时间。
编辑:关于我的方法的更多信息 - 我正在使用以编程方式创建的 .NET WebBrowser 控件。我在浏览器控件中加载网页并使用 PrintWindow API 从中捕获图像。无论控件是否可见,我都能做到这一点,但是当工作站被锁定时,它会让我绊倒。