0

Am currently working on a new application at work and am needing some help.

Basically I need to take real time screenshots of an application running on the users desktop(not my application) then warp the image using a shade and display the wrapped screenshot at 60 frames a second.

I have a windows form application that does this but I am getting 6 frames a second and when I scale this up to 1600x1600 it drops to 2fps.

So I thought that if I could do this in xna and move as much as possible to the GPU it would speed it up.

So I have googled and googled and cant find any information on how to get a screenshot of a running application in xna other than my xna application.

Thanks for any help.

Iain Brown
  • 133
  • 3
  • 12

1 Answers1

1

You can use XNA or additionaly the DWM or GDI+ to get the full desktop. Here are some links which can help you:

I think there is no way to get a window screenshot of another application. You can use some pattern detection code to find out where a window is but I do not recommend this.

Community
  • 1
  • 1
pearcoding
  • 1,149
  • 1
  • 9
  • 28
  • I can get the desktop using c# and GDI+ as a bitmap image but this is really slow and then I have no idea how to edit the image using a shader with out it being a texture. – Iain Brown May 18 '12 at 23:06
  • 1
    GDI+ is slow, I not know any other way... To make texture out of a bitmap maybe this link will help: [How to get a Texture2D from Bitmap Variable?](http://forums.create.msdn.com/forums/p/3051/15056.aspx) – pearcoding May 19 '12 at 09:42