C# 无头窗口-渲染GUI?
我正在使用无头虚拟桌面映像,我需要监视桌面并查看UI(不使用RDP或VNC)操作。UI操作之所以可能,是因为有一种变通方法,可以每隔X分钟主动创建新的RDP会话。这是由策略管理的,我无法控制RDP会话的创建 我曾在一个C#应用程序上工作过,该应用程序获取Windows桌面的屏幕截图,并通过一个端口将这些屏幕截图流出来(应用程序在端口上侦听)。要生成屏幕截图,我使用标准的C# 无头窗口-渲染GUI?,c#,windows,user-interface,automation,ui-automation,C#,Windows,User Interface,Automation,Ui Automation,我正在使用无头虚拟桌面映像,我需要监视桌面并查看UI(不使用RDP或VNC)操作。UI操作之所以可能,是因为有一种变通方法,可以每隔X分钟主动创建新的RDP会话。这是由策略管理的,我无法控制RDP会话的创建 我曾在一个C#应用程序上工作过,该应用程序获取Windows桌面的屏幕截图,并通过一个端口将这些屏幕截图流出来(应用程序在端口上侦听)。要生成屏幕截图,我使用标准的Graphics.CopyFromScreen方法,如果有人通过RDP连接或桌面显示器处于活动状态,该方法可以正常工作 如果桌面
Graphics.CopyFromScreen方法
,如果有人通过RDP连接或桌面显示器处于活动状态,该方法可以正常工作
如果桌面未通过RDP处于活动状态(或每x分钟在会话创建之间),我最终会得到错误句柄无效,我认为这是因为Windows不再呈现UI。此时不会渲染任何内容,但如果我或策略登录到RDP,则所有内容都将再次开始渲染(虽然只是暂时的,直到下次策略再次生效)
有没有办法告诉Windows保持GUI渲染?我有什么选择