Захват скриншотов свернутого удаленного рабочего стола


У меня есть следующий код C#, который я использую для захвата скриншота в сеансе удаленного рабочего стола (RDP). Он прекрасно работает, когда сеанс активен,но завершается с недопустимым исключением дескриптора, если я сворачиваю сеанс.

Есть ли какой-либо способ заставить это работать, или экран по существу "исчез", когда сеанс свернут?
string filename = @"C:Snap.png";
Size bitmapSize = new Size( Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height );
using (Bitmap bitmap = new Bitmap(bitmapSize.Width, bitmapSize.Height, PixelFormat.Format24bppRgb))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
    graphics.CopyFromScreen( // Exception thrown here
        new Point(0, 0), 
        new Point(0, 0), 
        bitmapSize);
    bitmap.Save(filename, ImageFormat.Png);
}
1 8

1 ответ:

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