Accessing Screen Buffer

I want to take capture of Screen i.e. Screen Shot :P. I have done it using MFC/Win32. But I dont find it very fast. Since every time I have to go through the same procedure which makes processing other things at same time very slow. So I want to directly access the Screen Buffer. Is it possible. If yes, how can I do it . If no, whats the alernate

I am ready to go to low-level language to achieve this functionality. But I want to do it like this. Any help on it.

Best Regards,


Answer this question

Accessing Screen Buffer

  • l99057j

    I simply want not to use the GDI functions. Is there any other way like reading from Screen Buffer. Am I clear ... I dont want to use GDI functions ... Please help me if any one has the solution about accessing the Screen Buffer.

    What optimization are you talking about. I will simply take a screen shot when I press a certain key.I dont want wastage of processing using the GDI functions. Somebody any help !!!

    Best Regards,

  • Adapterboy

     UnKnown Nick wrote:
    I simply want not to use the GDI functions. Is there any other way like reading from Screen Buffer. Am I clear ... I don't want to use GDI functions.


    No way! There is no function to access the screenbuffer except GDI/GDI+/DirectX.
    DircectX has faster access but if you want to share the screen with other application you can't use DirectX.

     UnKnown Nick wrote:
    What optimization are you talking about. I will simply take a screen shot when I press a certain key.I dont want wastage of processing using the GDI functions. Somebody any help !!!


    May be it is possible to optimize your code, so if you take snapshot on a regular base it might be possible to reduce overhead.

    But this might cause some other wastage of resources.

    Is mainly you application you wan't to capture, or the output of your views In this case you might keep a copy of your own DC.


  • EppuTheHeppu

    What is the way you do it
    May be you can optimize it.



  • Accessing Screen Buffer