有没有办法在Windows下为一个进程挂钩整个绘图函数?

时间:2011-07-21 07:38:44

标签: windows winapi directx hook render

我想捕捉窗口显示的所有内容。另一方面,如果该窗口实际上没有在屏幕上显示任何内容,那将是非常好的。怎么样?该过程将调用绘图函数,我的函数将挂钩并将其绘制到其他位置(例如,转换为位图文件)并返回而不实际绘制在屏幕上。

我所知道的是,在Windows NT体系结构中,每个线程都有一个系统调用表,您可以将单个线程的系统调用表(或者只是在开头设置)更改为您的函数。只改变绘图api(GDI?)(我不知道如果应用程序使用directx渲染我会如何生存,但也许有办法)我觉得我可以做到。我可以吗?如果应用程序使用DirectX渲染,我该怎么办?

提前致谢,

Ali Veli

1 个答案:

答案 0 :(得分:0)

我最终只挂钩类似CreateDC的函数,使它始终创建一个内存设备上下文,并让所有其他函数在该内存DC上绘制。