应用场景,我开发了一个winform .net6 程序,运行后最小化到托盘里. 每隔一段时间去数据库里读取截屏任务,截屏并保存.
现在有时截图成功,有时失败,报错 句柄无效,求指教
private Image? CaptureReturn0()
{
try
{
Image img = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(img);
此行报错 graphics.CopyFromScreen(0, 0, 0, 0, img.Size);
return img;
}
catch (Exception e)
{
Log4NetHelper.Err(e);
}
return null;
}
及时释放graphics对象试试
using(Graphics graphics = Graphics.FromImage(img))
{
graphics.CopyFromScreen(0, 0, 0, 0, img.Size);
}
试了,也不行
使用之前判断句柄是否有效,如果无效就重启winform
程序
把报错的详细log信息都贴出来,这样看的清楚些。
c# 句柄截图 底部和右边就有透明空白填充