我可以使用c#执行外部控制台程序,并通过System.Diagnostics.Process
类获取其输出。
有没有办法执行外部程序,而不是控制台程序,并获得其输出?
假设我们有一些“program.exe”,假设它是一个2D游戏。是否可以从中获取视频流?例如,在像素数组中。
答案 0 :(得分:2)
是的,这是可能的。 使用Process类启动该过程。 您必须知道要捕获的窗口的名称。 然后使用win32 api(pinvoked)FindWindow,GetWindowDC,..以定期间隔获取位图。 这种方法在这里解释: http://www.nullskull.com/q/10087766/capturewindow-in-cnet-20-windows-application.aspx
另一种方法是捕捉屏幕的矩形, Capture the screen shot using .NET 你可以使用win32 api GetWindowRect
获取窗口的边界矩形