R – Capturing a hidden window in Vista

delphiscreen-capturewindows-vista

My understanding of Vista is that each window gets it's own screen buffer which is then alpha blended etc to create the screen.

So, is there any way to screen capture a window which is obscured or partly off screen by directly reading these buffers? Vista does it when you alt-tab or hover the mouse over the taskbar.

I'm doing this in Delphi, but code in any language will suffice.

Best Solution

I believe those buffers don't exists when those windows are off-screen. Or only partially exist when partially off-screen.

If you pay attention to the window thumbnails, you will find it will not update when those windows are minimized or off-screen. WM_PAINT will fire as a window is being dragged from off-screen to on, again suggesting that this data was not already buffered somewhere.

Related Question