有没有办法将窗口redirect(渲染)到“内存显示”?

我想制作一个Windows应用程序,其GUI将stream式传输到另一个设备(允许远程控制)。 重点是我不愿意依靠创buildWindows会话来隔离GUI I / O(1)

为了达到这个目的,我开始观察一些能够使用这个前提来启用远程访问的现有解决scheme,看看我是否能够从哪里开始。

其中一个解决scheme是Winflector (顺便说一句:它是免费的2连接)。

我对这个解决scheme感兴趣,因为它似乎(我猜)它只检测重绘区域。 我从我的观察中得出的结论是:

  • 虽然stream式应用程序在本地login(在我的任务pipe理器中显示应用程序进程)本地在本地运行,但应用程序窗口似乎无法被创build – 至lessInspect不能获得任何窗口应用程序进程的信息/句柄 – 看起来像是“GUI StdOutredirect”。
  • 显然,没有额外的桌面创build;
  • 显然,没有安装镜像驱动程序。
  • 使用Process Explorer ,我发现Winflector将一些线程添加到原始应用程序进程中。 我怀疑这是关于GUIredirect(由线程的名称);
  • 该应用程序由Winflector服务器启动 – 也就是说,它具有关于CreateProcess参数的控制权。

在这种情况下最可能使用的技术是什么?

  • Windows钩子?
  • Windows消息拦截?
  • 特殊显示驱动程序
  • 内存设备上下文的sorting?

我应该从哪里开始研究以获得类似的方法? 任何关于这个主题的开源项目也将非常受欢迎。

PS:通过我的编程经验,这是一个完整的“新世界” – 对不起,如果我的问题是多余的/明显的/无意义的。

(1)也就是说,可以使用本地用户已经login的同一个会话生成,stream式传输并与远程客户端进行交互,而不会与IO冲突(例如,像普通的VNC那样)。 PS:在这一刻,我只关注输出