var*_*tas 2 c# windows-services session-0-isolation
我有一个获取屏幕截图的Windows服务.但它只创造了黑屏.我知道这是因为会话0隔离.我在互联网上搜索,无法找到任何批准的解决方案来解决这个问题,任何工作的想法都会非常好.
1-有没有办法更改Windows服务的会话并获取其他用户会话的桌面屏幕,如会话1,会话2?
2-有没有办法启动一个控制台应用程序,该应用程序在Windows服务的会话0以外的另一个会话中运行?
Windows服务也设计为在没有用户连接的情况下运行,它的工作方式类似于服务器进程始终启动和监听,或启动和执行某些操作或空闲.
我认为你需要的是一个客户端应用程序,它在每个登录用户的会话中运行,并最终完成工作,然后,如果需要,与服务进行通信以完成一些工作.
我在这里说,不是让Windows服务在0以外的其他会话中运行,而是可以创建一个小的可执行文件(可能根本没有UI),从每个用户登录的所有用户的启动文件夹启动.这样的应用程序然后在正确的会话内运行并且可以访问它,它可以获取屏幕截图,然后将其存储在自己的某个地方或在Windows服务中调用一些端点(始终在会话0中运行)并使服务详细说明屏幕截图取自它的客户端应用程序.
这就是我这样做的方式,而不是尝试一些"神奇"来告诉Vista和7在用户会话中启动服务,最终在系统启动时尚未登录.
| 归档时间: |
|
| 查看次数: |
3281 次 |
| 最近记录: |