This can definitely be done with importing win32 specific functions into C# that allow you to capture a window. After you’ve done that you could craft a workspace similiar to ConsoleWorkspace that will allow you to render the results. Hooking back up input support to control the mouse pointer will require a little work, but is doable, too, also with win32 calls. I hope that points you in the right direction.
I’ve recently written a win32 app in c++/haxe that runs Unreal Engine in a hidden process and using Scenecapture2D and Spout to share the texture to my program, displaying it together with other ui elements. Works great and there is very little hit on performance!