C# DrawToBitmap-GDI中发生一般性错误+

C# DrawToBitmap-GDI中发生一般性错误+,c#,.net,bitmap,drawtobitmap,C#,.net,Bitmap,Drawtobitmap,我正在尝试从windows窗体中的flash对象捕获屏幕截图 当我尝试这样做并进行调试时,我得到了一个异常:GDI+中发生了一个通用错误。在bmp.Save上。。。线路 然而,似乎应该负责的是DrawToBitmap。尝试为此屏幕截图设置图片框图像时,异常参数无效 我也尝试过使用Form.ActiveForm.DrawToBitmap来代替,但这似乎是在做同样的事情。。。我不知道现在的问题是什么 pictureBox1.Image = CaptureScreenshot(); // Captu

我正在尝试从windows窗体中的flash对象捕获屏幕截图

当我尝试这样做并进行调试时,我得到了一个异常:GDI+中发生了一个通用错误。在bmp.Save上。。。线路

然而,似乎应该负责的是DrawToBitmap。尝试为此屏幕截图设置图片框图像时,异常参数无效

我也尝试过使用Form.ActiveForm.DrawToBitmap来代替,但这似乎是在做同样的事情。。。我不知道现在的问题是什么

pictureBox1.Image = CaptureScreenshot();

// Capture screenshot of the form
private Bitmap CaptureScreenshot()
{
    using (var bmp = new Bitmap(500, 500))
    {
        axShockwaveFlash1.DrawToBitmap(bmp, new Rectangle(0, 0, 500, 500));
        bmp.Save(@"c:\screenshot.png");
        return bmp;
    }   
}

只是一个想法。你的应用程序没有对C驱动器路由的写访问权限。无论如何,它当然不应该这样。查看是否可以将其保存到更容易访问的位置。MyPictures将是一个更好的选择,您可以使用Environment.SpecialFolder枚举返回一个已处理的位图。去掉using语句。删除using语句,只保留var bmp=new bitmap500500;仍然给出相同的例外情况:/n也不是,写入权限不应该是问题,因为删除bmp.Save并允许pictureBox1.Image=CaptureScreenshot;似乎还返回了无效的位图