C # Захват экрана параллельно? - PullRequest
1 голос
/ 08 апреля 2011

Я хотел бы сделать снимок экрана окна приложения. Я могу сделать это, используя ниже. Однако возможно ли это сделать в parrall или это должно происходить последовательно?

В настоящее время я использую this :

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);

Можно ли как-нибудь параллельно сделать снимки экрана для двух или более окон приложения?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Я никогда раньше не использовал эту библиотеку, но из вашего примера кода кажется, что вы захватываете не конкретное окно, а весь экран.

похоже, вы хотите использовать функцию

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

и передайте ему дескриптор окна приложения, которое вы хотите захватить. Кажется, вы можете использовать это в любом количестве окон с библиотекой, это просто вопрос получения дескриптора правильного окна.

0 голосов
/ 08 апреля 2011

вы можете посмотреть в "темы":

По сути, вы должны запускать параллельные потоки для обработки конкретной работы, например, давая дескриптор окна в качестве параметра для работы с потоками.

...