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