/dwmaxx2

Get Windows 7 windows as DirectX textures

Primary LanguageC++

DWMaxx2

This library purpose is to extract a valid DirectX 10 texture from any window on Windows 7. Please note that I don't support it anymore, but I released the code for people to use.

See it in action: http://youtu.be/Fpvh16VjrRE http://youtu.be/TQWErKtfpq4

How it works

The library injects itself system wide, but behaves differently depending on which process it's in.

If it's not in the DWM process, it will hook all draws and draw a special pixel in the center of the window containing the HWND encoded in RGB.

If the process is DWM, it will hook itself on DX10's drawing calls and look for this special pixel.

It will then maintain a HWND <--> TextureHandle mapping, allowing the DWMaxx2 API to query it for the texture shared handle for a particular HWND.

How to use

Look at the code in Tutorial07. This is the modified Tutorial 7 from the DX10 SDK, modified to get the texture of a Chrome window (class Chrome_WidgetWin_0), so it should be pretty simple for everyone.

Methods provided:

HRESULT  DwmaxxLoad();
HRESULT  DwmaxxUnload();
BOOL     DwmaxxIsLoaded();

HANDLE   DwmaxxGetWindowSharedHandle(HWND hWnd);
void     DwmaxxGetWindowSharedHandleAsync(HWND hWnd, HWND callbackHwnd);
void     DwmaxxRemoveWindow(HWND hWnd);