Windows7中Windows服务无法截屏我有一个Windows服务可以截屏。但它只会创建黑屏。我知道这是因为会话0隔离。我已经在互联网上搜索过,但找不到针对此问题的任何批准的解决方案,任何可行的想法都会很棒。1-有没有办法更改Windows服务的会话并获取其他用户会话(如会话1、会话2)的桌面屏幕?2-有没有办法启动在Windows服务会话0之外的另一个会话中运行的控制台应用程序?有没有办法更改Windows服务的会话并获取另一个用户会话(如会话1、会话2)的桌面屏幕?没有。有没有办法启动在Windows服务的会话0之外的另一个会话中运行的控制台应用程序?这个可以做,但是很乱。它涉及模拟登录用户、操纵用户令牌以及使用CreateProcessAsUser()将进程启动到不同的会话中。本文描述了所需的内容。此外,您不需要控制台应用程序,因为这将在屏幕截图上显示控制台窗口。您所需要的只是一个标准的Windows应用程序(使用GUI子系统),但您不需要显示任何可见的窗口。Windows服务也被设计为在没有用户连接的情况下运行,它的工作方式就像服务器进程始终处于启动状态并正在侦听,或者启动并执行某些操作或处于空闲状态。我认为您需要的是一个客户端应用程序,它在每个登录用户的会话中运行,然后最终完成工作,并在需要时与服务通信以完成一些工作。我在这里说的是,不是让Windows服务在0以外的其他会话中运行,而是可以创建一个小的可执行文件(可能根本没有UI),它从每个用户登录的所有用户的启动文件夹开始。这样的应用程序然后在正确的会话中运行并可以访问它,它可以截取屏幕截图然后将其存储在自己的某个地方或调用Windows服务中的某个端点(始终在会话0中运行)并制作服务详细信息屏幕截图取自其客户端应用程序。这就是我这样做的方式,而不是尝试一些“魔法”来告诉Vista和7在用户会话中启动一项服务,该服务最终在系统启动时未登录。以上就是C#学习教程:Windows服务无法获取Windows7中截图分享的全部内容,如果对大家有用,需要详细了解C#学习教程,还望大家多加关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
