Как бы я скриншот мой дополнительный рабочий стол в C # - PullRequest
0 голосов
/ 29 января 2019

У меня проблема с попыткой получить снимок экрана моего другого рабочего стола.Если вы не уверены в том, что я имею в виду, ссылку можно найти здесь - https://www.microsofttranslator.com/bv.aspx?from=&to=en&rr=UC&a=https%3a%2f%2fdotnet-snippets.de%2fsnippet%2fdesktop-klasse-createdesktop%2f1248

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

    ScreenCapture sc = new ScreenCapture();
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);

1 Ответ

0 голосов
/ 29 января 2019

вы можете использовать Screen.AllScreens

foreach ( Screen screen in Screen.AllScreens )
{
    // Create a graphics object from the bitmap
    screenshot = new Bitmap( screen.Bounds.Width,
        screen.Bounds.Height,
        System.Drawing.Imaging.PixelFormat.Format32bppArgb );

     // Take the screenshot from the upper left corner to the right bottom corner
    gfxScreenshot = Graphics.FromImage( screenshot );

   // Save the screenshot
    gfxScreenshot.CopyFromScreen(
        screen.Bounds.X,
        screen.Bounds.Y, 
        0, 
        0,
        screen.Bounds.Size,
        CopyPixelOperation.SourceCopy );

}
...