gpt4 book ai didi

c# - Windows 服务无法在 Windows 7 中获取屏幕截图

转载 作者:行者123 更新时间:2023-11-30 20:08:09 24 4
gpt4 key购买 nike

我有一个获取屏幕截图的 Windows 服务。但它只创建黑屏。我知道发生这种情况是因为 session 0 隔离。我在 Internet 上搜索,但找不到针对此问题的任何批准的解决方案,任何可行的想法都会非常好。

1- 有没有办法更改 Windows 服务的 session 并获取另一个用户 session (如 session 1、 session 2)的桌面屏幕?

2- 有没有办法启动一个控制台应用程序,该应用程序在 Windows 服务的 session 0 以外的另一个 session 中运行?

最佳答案

Windows 服务被设计为在没有用户连接时也能运行,它的工作方式就像一个服务器进程,总是启动并监听,或者启动并做某事,或者空闲。

我认为您需要的是一个客户端应用程序,它在每个登录用户的 session 中运行并最终完成工作,然后在需要时与服务通信以完成一些工作。

我在这里说的是,不是让 Windows 服务在 0 之外的另一个 session 中运行,而是可以创建一个小的可执行文件(可能根本没有 UI),它从启动文件夹启动每次用户登录时的所有用户。这样的应用程序然后在正确的 session 中运行并可以访问它,它可以获得屏幕截图,然后将其存储在某个地方或调用 Windows 服务中的某些端点(始终在 session 0 中运行)并使服务详细说明屏幕截图取自它的客户端应用程序。

这就是我会做的方式,而不是尝试一些“魔法”来告诉 Vista 和 7 在用户 session 中启动服务,最终在系统启动时尚未登录。

关于c# - Windows 服务无法在 Windows 7 中获取屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7454106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com