This boggles me. DirectX bypasses everything and talks directly to the device driver, thus GDI and other usual methods won\'t work - unless Aero is disabled (or unavailable
Using Detours, you can instrument calls like Direct3DCreate9, IDirect3D9::CreateDevice and IDirect3D9::Present in which you perform the operations necessary to setup and then do a frame capture.