C# 当作为windows服务运行时,如何拥有程序屏幕截图本身?

C# 当作为windows服务运行时,如何拥有程序屏幕截图本身?,c#,.net,service,screenshot,infopath,C#,.net,Service,Screenshot,Infopath,可能重复: 我正在尝试或多或少地模拟Infopath表单服务。因此,我希望能够通过移动设备批准或不批准表单(用户将通过电子邮件得到通知)。我有能力批准/不批准表格,但问题是我需要能够截屏我的程序,以进行详细的错误报告(以防在批准过程中出现错误)(截屏过程已经实施)。我需要能够在没有任何用户登录的情况下在服务器上运行该程序。这就是问题所在。如果我将程序作为服务运行,我不会得到一个交互式窗口,但我可以让程序始终运行。因此,我需要能够在计算机启动时启动程序,并让它能够自行截屏 有没有办法让windo

可能重复:

我正在尝试或多或少地模拟Infopath表单服务。因此,我希望能够通过移动设备批准或不批准表单(用户将通过电子邮件得到通知)。我有能力批准/不批准表格,但问题是我需要能够截屏我的程序,以进行详细的错误报告(以防在批准过程中出现错误)(截屏过程已经实施)。我需要能够在没有任何用户登录的情况下在服务器上运行该程序。这就是问题所在。如果我将程序作为服务运行,我不会得到一个交互式窗口,但我可以让程序始终运行。因此,我需要能够在计算机启动时启动程序,并让它能够自行截屏

有没有办法让windows服务在启动时有一个交互式窗口,即使它是从屏幕上画出来的,用户永远看不到,或者有没有办法在我的程序中模拟/伪造一个窗口,这样它就可以在不需要交互式窗口的情况下截屏


此外,我的程序是在.NET framework上用c#

编写的,而且该服务没有桌面可供渲染

我们没有按照您尝试的方式在服务器上实现InfoPath表单的呈现,因为它无法正常工作。您可以作弊一段时间,但在服务器上以无头服务模式运行Office应用程序是个糟糕的主意。您还将遇到有趣的问题,因为用户的标识与进程标识不匹配(即无法查询ACL’ed数据)

您可以选择:

  • 如果只需要批准,请删除InfoPath部分
  • 使用现有的移动表单解决方案。forms Services中对移动表单提供了一些支持,如果可以的话,您可以拥有专门针对移动设备的非常简单的视图。还有一些现有的InfoPath表单移动呈现解决方案
  • 诚实地实现表单的呈现。XSN格式已记录在案
  • 在登录用户为每个用户的单独计算机上呈现InfoPath,每次呈现一个
屏幕截图方法有效,即我能够捕获窗口并将其保存到文件中。出现这个问题是因为我需要能够在没有用户登录时运行这个程序,所以我不能显示窗口。因此,我需要找到一种方法,将GUI程序作为一种能够访问自己的GUI的服务来运行,或者以另一种方式使我的程序始终运行。如果程序在正常运行期间不应该有GUI,为什么要截图?曾经只需收集您将在屏幕上显示为错误报告文本的信息。它当前有一个GUI,它确实需要它(我需要能够打开infopath表单并截图),因此我需要GUI。但我也需要程序始终运行,无论用户是否登录。我已经阅读了Gabe链接到的帖子,但它没有回答我的问题,因为即使没有用户登录,我也希望GUI部分能够运行。因此,当用户登录时启动GUI部分是行不通的。