Как сделать снимок экрана стредствами Net..?

  • Автор темы WildDuck
  • Дата начала
W

WildDuck

#1
Добрый день, появилась задача сделать в проге снимок экрана... в инете нашел только во это

Код:
public Bitmap MakeScreenShot(Screen screen)
{
Bitmap bitmap = new Bitmap(screen.WorkingArea.Width, screen.WorkingArea.Height);
using (Graphics gfx = Graphics.FromImage(bitmap))
{
gfx.CopyFromScreen(screen.WorkingArea.X, screen.WorkingArea.Y, 0, 0, new Size(bitmap.Width, bitmap.Height));
}
return bitmap;
}
Все ничего если бы он делал снимок панели пуска и мыши)).. ну мыши ладно хотя бы пуска)

Если кто сталкивался... спасибо!

----------------------

Как обычно после создания темы сразу нашел ответ.. :)
вот так все работает..)
проблема была в Screen.PrimaryScreen а нужно было Screen.AllScreens

Код:
			//Метод возвращает bitmap со скриншотом экрана
public Bitmap ScreenShot()
{
var totalSize = Rectangle.Empty;
foreach (var s in Screen.AllScreens)
totalSize = Rectangle.Union(totalSize, s.Bounds);

var screenShotBmp = new Bitmap(totalSize.Width, totalSize.Height,
PixelFormat.Format32bppArgb);

var screenShotGraphics = Graphics.FromImage(screenShotBmp);

screenShotGraphics.CopyFromScreen(totalSize.X, totalSize.Y,
0, 0, totalSize.Size, CopyPixelOperation.SourceCopy);

screenShotGraphics.Dispose();
return screenShotBmp;
}