Ответ 1
Конечно, можно получить скриншот с использованием .NET Framework. Самый простой способ - создать новый объект Bitmap
и нарисовать его с помощью метода Graphics.CopyFromScreen
.
Пример кода:
using (Bitmap bmpScreenCapture = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height))
using (Graphics g = Graphics.FromImage(bmpScreenCapture))
{
g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0, 0,
bmpScreenCapture.Size,
CopyPixelOperation.SourceCopy);
}
Предостережение: Этот метод не работает должным образом для многоуровневых окон. Ответ Hans Passant здесь объясняет более сложный метод, необходимый для получения этих снимков экрана.