Screen capture of everything except the game window

Is there a fast way (60fps) to get a texture of the whole screen without the actual monogame window?
System.Drawing.Graphics.CopyFromScreen() seems to be to slow because I need to convert the Bitmap to a Texture2D.

Do you plan to make a video with this ?
If yes, there are tools that can do the trick. (camtasia for ex but still the game will be displayed i think)

No I am trying to apply a shader to the whole screen.

People usually render everything to a render target and then render that to the backbuffer with some post-processing shader and optionally resize the texture to fit the window. If your game is all set that would probably mean a lot of refactoring though

No I don’t want the output of my game. I want to get a screenshot of everything windows is outputting (desktop, etc.).

Oh sorry, I completely misunderstood! No idea how to do that :stuck_out_tongue:

I can’t see the point of this, what is the utility ? Taking a screenshot of everything but the game… doing this is simply a sort of spy integrated within a game…
There are simpler methods to do this…

For making something like Virtual Desktop this would be needed.

I don’t think MG is very well suited for something like that. Do you plan on using the screencap inside a game or do you actually want to make something like Virtual Desktop?

This is definitely outside the scope of MonoGame’s features.

Then you need a low level API to do this, available in C++ and use DX or OpenGL.

Maybe I will look into it later. It should be possible with SharpDX. I found this article which should work for my project.