I want to aggregate and rearrange the displays of开发者_JAVA百科 multiple programs into one. Is there a way, in Windows and preferably C#, to screenshot-to-texture from other running applications?
In Vista and Windows 7, with DWM (i.e. Aero-Glass) enabled, the DWM Thumbnails API provides a good way to do this with minimal resource usage and lag.
If you need to support older versions of Windows, or newer versions but where DWM may not be enabled/available, then I think you might have to copy out of the screen/window DCs in a loop and paint what you obtain into your own window, which will be very slow and probably use a lot of CPU.
(If you want to get really advanced, you might be able to write some kind of mirror display driver or something, but that's very complex.)
精彩评论