C# 如何在无人值守模式下捕获网站的屏幕截图?
我需要编写一个.NET应用程序,定期捕获各种网页的截图。当没有用户会话或工作站被锁定时,应用程序需要在无人值守模式下作为windows服务运行。类似于:()的情况,只是,我需要在网页上而不是进程上执行此操作 当我尝试使用PrintWindow API时,我能够捕获非活动或隐藏的窗口,但当工作站被锁定时会得到一个黑色图像。尝试了这种方法(www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic34231.aspx),但不起作用 我知道这是可能的,因为有像WebShot(www.websiteshreenshots.com)这样的应用程序能够做到这一点——即使在工作站被锁定或作为服务运行时也能捕获网页的屏幕截图 我错过了什么?我怎样才能让它工作 谢谢你抽出时间C# 如何在无人值守模式下捕获网站的屏幕截图?,c#,screen-capture,C#,Screen Capture,我需要编写一个.NET应用程序,定期捕获各种网页的截图。当没有用户会话或工作站被锁定时,应用程序需要在无人值守模式下作为windows服务运行。类似于:()的情况,只是,我需要在网页上而不是进程上执行此操作 当我尝试使用PrintWindow API时,我能够捕获非活动或隐藏的窗口,但当工作站被锁定时会得到一个黑色图像。尝试了这种方法(www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic3
编辑:关于我的方法的更多信息-我正在使用以编程方式创建的.NET WebBrowser控件。我将网页加载到浏览器控件中,并使用PrintWindowAPI从中捕获图像。无论控件是否可见,我都能做到这一点,但当工作站被锁定时,它会使我绊倒。BrowserShots()是一个开源应用程序,它似乎与您有类似的目标-它们可能已经解决了您的问题。不幸的是,他们的网站目前似乎有点破损。由于您只渲染网站,而没有获得不同程序的屏幕截图,您可以尝试WebBrowser.DrawToBitmap 这样您就不必担心登录状态
谢谢,我试过了,但它只有在用户会话正在进行时才起作用,而不是在作为服务运行或工作站被锁定时起作用。