首页 新闻 会员 周边

c# winform屏幕截图,提示句柄无效

0
悬赏园豆:5 [待解决问题]

应用场景,我开发了一个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;
}

simadi的主页 simadi | 初学一级 | 园豆:134
提问于:2022-05-06 09:24
< >
分享
所有回答(3)
0

及时释放graphics对象试试

using(Graphics graphics = Graphics.FromImage(img))

{

  graphics.CopyFromScreen(0, 0, 0, 0, img.Size);

}

talentzemin | 园豆:759 (小虾三级) | 2022-05-06 09:39

试了,也不行

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2022-05-06 09:55
0

使用之前判断句柄是否有效,如果无效就重启winform程序

三人乐乐 | 园豆:4819 (老鸟四级) | 2022-05-06 17:54
0

把报错的详细log信息都贴出来,这样看的清楚些。

threecloud | 园豆:242 (菜鸟二级) | 2022-07-31 19:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册