3

As per my understanding, bitblt call with captureblt gives the buffer from display's frame buffer object. In this buffer, mouse cursor is not present.

In Windows XP, continuous bitblt calls will make the mouse flicker which I can assume that - mouse is hidden, a render operation is performed and frame buffer is returned. But in Windows 7, mouse is not flickering and yet its not captured in the buffer returned by the bitblt calls. How is mouse rendered in Windows 7? Can I render some text in a similar fashion?

I've a requirement to overlay text on top of all the windows, but it should not be present in bitblt calls. I was trying to see if we can render something similar to how mouse is rendered.

Ravi Kishore
  • 138
  • 1
  • 7

1 Answers1

1

I think Windows 7 uses Desktop Compositing (or whatever it's called) to render stuff, so the windows are actually rendered off-screen and the capture is taken from that...

Note: Just for reference, the old behavior: The Case of the Disappearing Cursor

Medinoc
  • 6,577
  • 20
  • 42
  • Thanks for the reply. Posted link is not opening. Can you recheck it please. To answer the original requirement, is there any way I can trigger desktop compositing in bitblt calls without a window? – Ravi Kishore Sep 09 '13 at 11:01
  • I checked the link, it worked in both IE and Firefox, even with Javascript disabled... As for your other question, I don't know. – Medinoc Sep 13 '13 at 10:30