如何拦截高级GDI绘制命令?

时间:2009-04-21 15:53:05

标签: streaming drawing gdi internals

我正在尝试创建一个允许远程访问其他应用程序(在不同计算机上运行)的应用程序。我的想法是让用户透明地访问某些应用程序,我基本上有两种选择:

  • 应用程序流式传输
  • 拦截绘制命令并在客户端中重现它们

(当然,输入会从客户端重定向到服务器)

我有一个带有应用程序流的工作版本,但我不知道如何通过挂钩Win API来实现它...

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您所描述的内容听起来很像Windows图元文件。元文件将所有GDI绘图命令捕获到文件中;然后可以将该文件传递给远程PC并在那里进行渲染。

首先查看CreateEnhMetaFile。这将返回设备上下文的句柄,您可以将其绘制到正常的屏幕设备上下文中。