Чтобы сделать правильный inject/сплайсинг, то для корректной отрисовки в другом fullscreen/window окне, поверх оригинальной графики, требуется: Для OpenGL контекста "переопределить"

wglMakeCurrent, SwapBuffers остальное по желанию. Рисовать в SwapBuffers затем вызывать оригинальную Для D3D нужно "переопределить" Direct3DCreate*, dev->EndScene, остальное по желанию. Рисовать в EndScene затем вызвать оригинальную.