Вобщем сабж. Перехват экрана в Windows 8. В Windows 7 можно было сделать инжект в DWM и перехватить DirectX ( Device, SwapChain ) В Windows 8 DWM имеет больше привелегий и обычное приложения инжект не сделает ( обход этого мне не известин , кроме драйверов и админ привилегий ) Каким еще образом можно сделать захват отрисовки для DirectX ? *Не используя установку чего либо из под админа . * BitBlt очень медленно и это GDI. * dwmgetdxsharedsurface работает только для окна , то и есть придется делать компизицию окон( Z-Order и прочая боесамое ) Нужо поймать отрисовку DirectX .
Windows 8 вообще только System или DWM-1 user. Об отрисовки (мало ли кому интерестно) .text:10067319 push edi .text:1006731A lea eax, [ebp+var_1C] .text:1006731D lea ecx, [eax+ecx*4] .text:10067320 lea eax, [ebp+var_20] .text:10067323 push eax .text:10067324 lea eax, [ebp+var_2C] .text:10067327 push eax .text:10067328 push 7 .text:1006732A lea eax, [ebp+var_4] .text:1006732D sub eax, ecx .text:1006732F sar eax, 2 .text:10067332 push eax .text:10067333 push ecx .text:10067334 push 0A9h .text:10067339 push edi .text:1006733A push edi .text:1006733B push ebx .text:1006733C call ds:__imp__D3D11CreateDevice@40 ; D3D11CreateDevice(x,x,x,x,x,x,x,x,x,x {Timed interface } push edx push offset __GUID_a04bfb29_08ef_43d6_a49c_a9bdbdcbe686 push eax call dword ptr [ecx] push edi mov ebx, offset __GUID_9b7e4c8f_342c_4106_a19f_4f2704f689f0 push ebx ...... push ebx ;;;; __GUID_9b7e4c8f_342c_4106_a19f_4f2704f689f0 -> D3d10Device1 - it nice push eax call dword ptr [ecx] Так что пока юзаем Dx10