0

Is it possible in a Windows OS with a C win32 program to read directly the framebuffer ? As framebuffer I mean the physical memory (system RAM or video RAM ?) that contain the image on the monitor transmitted via DVI or HDMI or DP. I don't want to read only the pixels of the active windows, but all the screen, and not using STAMP key. I hope to have explained well, I never found a complete answer to this problem.

And one last detail: this framebuffer is in system RAM or video RAM ?

Valerio
  • 131
  • 2

1 Answers1

0

You can quite easily grab full-screen screenshots, e.g. using the techniques of How can I take a screenshot in a windows application? (all the answers there seem to be plain C).

But accessing the framebuffer directly would, in general, violate memory access protections, so you can normally only access it through win32 APIs such as GDI or DirectX. (Unless, of course, you write your own device driver...)

Ove
  • 710
  • 3
  • 9