截取屏幕截图时的一般 GDI+ 错误 C#

Generic GDI+ Error When screenshot is taken C#

我有一个带有一些小命令的 WPF 工具栏应用程序。其中之一是屏幕截图按钮。当我按下按钮时,我得到一个

"System.Runtime.InteropServices.ExternalException: 'A generic error occurred in GDI+.'" 错误。有人知道如何解决这个问题吗?

我的代码:(抛出错误@bitmap.Save("C:\Screenshots\" + filename);

      Rectangle rect = Screen.GetBounds(Point.Empty);
            
            using (Bitmap bitmap = new Bitmap(rect.Width, rect.Height))
            {
                using (Graphics g = Graphics.FromImage(bitmap))
                {
                    
                    g.CopyFromScreen(Point.Empty, Point.Empty, rect.Size);
                }
                String filename = "ToolbarSnap" + DateTime.Now.ToString("ddMMyyyy-hhmmss") + ".png";
                bitmap.Save("C:\Screenshots\" + filename);
            }

如果您确定目标目录存在,并且您有写入权限,您的代码应该可以工作。

为了确保,您可以添加:

Directory.CreateDirectory(directoryPath);

在你的截图代码之前。