c#屏幕捕获并行

本文关键字:并行 屏幕 | 更新日期: 2023-09-27 17:49:30

我想捕获一个应用程序窗口的屏幕截图。我可以使用下面的代码。然而,是否有可能并行地做到这一点,还是必须依次发生?

我现在正在使用这个:

ScreenCapture sc = new ScreenCapture(); // capture entire screen, and save it to a file 
Image img = sc.CaptureScreen(); // display image in a Picture control named imageDisplay 
this.imageDisplay.Image = img;  // capture this window, and save it 
sc.CaptureWindowToFile(this.Handle,"C:''temp2.gif",ImageFormat.Gif);

是否有任何方法可以为两个或多个应用程序窗口并行拍摄屏幕截图?

c#屏幕捕获并行

我以前从未使用过该库,但从您的代码示例中,似乎您没有捕获特定窗口,而是整个屏幕。

似乎你想使用函数

public void CaptureWindowToFile(IntPtr handle, string filename, ImageFormat format)

,并将要捕获的应用程序窗口的句柄传递给它。似乎你可以在尽可能多的窗口上使用该库,这只是一个获得正确窗口的句柄的问题。

你可能想看看"threads":

  • http://www.albahari.com/threading/
  • http://msdn.microsoft.com/en-us/library/aa645740 (v = vs.71) . aspx

基本上,您应该启动并发线程来处理特定工作,例如将窗口句柄作为线程作业的参数。