Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无头窗口-渲染GUI?_C#_Windows_User Interface_Automation_Ui Automation - Fatal编程技术网

C# 无头窗口-渲染GUI?

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连接或桌面显示器处于活动状态,该方法可以正常工作 如果桌面

我正在使用无头虚拟桌面映像,我需要监视桌面并查看UI(不使用RDP或VNC)操作。UI操作之所以可能,是因为有一种变通方法,可以每隔X分钟主动创建新的RDP会话。这是由策略管理的,我无法控制RDP会话的创建

我曾在一个C#应用程序上工作过,该应用程序获取Windows桌面的屏幕截图,并通过一个端口将这些屏幕截图流出来(应用程序在端口上侦听)。要生成屏幕截图,我使用标准的
Graphics.CopyFromScreen方法
,如果有人通过RDP连接或桌面显示器处于活动状态,该方法可以正常工作

如果桌面未通过RDP处于活动状态(或每x分钟在会话创建之间),我最终会得到错误
句柄无效,我认为这是因为Windows不再呈现UI。此时不会渲染任何内容,但如果我或策略登录到RDP,则所有内容都将再次开始渲染(虽然只是暂时的,直到下次策略再次生效)

有没有办法告诉Windows保持GUI渲染?我有什么选择