Windows服务屏幕捕获返回黑屏

10 浏览
0 Comments

Windows服务屏幕捕获返回黑屏

我正在尝试创建一个Windows服务应用程序来捕获屏幕。之前我遇到了启动服务的问题。无论如何,我已经解决了这个问题,现在我又遇到了另一个问题。现在图像保存了,但保存为黑屏。关于这个问题在SOF上有很多问题,但我无法解决我的问题。\n这是我到目前为止尝试过的内容:\n在这里,我按照这里这里提到的代码进行了编码,但对我没有用。\n我正在使用Windows 7个人电脑。我看到有几个答案提到了“会话0隔离特性”,但我无法从中得到正确的解决方案。\n编辑\n这个服务在“会话0”下运行。\n\"任务管理器\"

0
0 Comments

在Windows系统中,服务(Services)运行在Session 0中,而该会话与用户通过可见的桌面与系统进行交互的其他会话有不同的窗口站和桌面分配。

你可能希望让你的服务切换到活动用户的会话,以建立与他们可见桌面的连接,以便创建其快照 - 你的屏幕截图代码是有效的,但它在自己的桌面上创建了一个快照(这是一个空桌面)。

这里的链接可能会帮助你更好地理解这个问题。

这不是服务本身 - 它是在vshost应用域中运行的代码的调试版本。我从未尝试在vshost环境中运行服务,并且我不知道在这种情况下它可能连接到的窗口站是什么,但我坚持我的答案,并且打赌它与你正在查看和期望截图的活动桌面不同。

是的,你是对的...有没有办法让我更改会话ID?

你无法更改会话(我在先前的回答中不够明确),但你可以让你的服务连接到不同的窗口站和桌面。你的第二个链接回答了如何做到这一点。

最后,我将这个应用程序做成了Windows窗体应用程序。我们无法像你提到的那样更改进程ID。谢谢你的信息。

0