我可以使用c#执行外部控制台程序,并通过System.Diagnostics.Process类获取其输出.
有没有办法执行外部程序,这不是一个控制台程序,并获得其输出?
假设我们有一些“program.exe”,假设它是一个2D游戏.是否可以从中获取视频流?例如,在像素阵列中.
最佳答案 对的,这是可能的.
使用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获取窗口的边界矩形