Захват скриншотов свернутого удаленного рабочего стола
У меня есть следующий код 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 ответов
вы должны временно восстановить окно, захватить и свернуть его снова. эта ссылка показывает, как это сделать молча