首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNA ScreenShot: GetDIBits在一段时间后返回false

JNA ScreenShot: GetDIBits在一段时间后返回false
EN

Stack Overflow用户
提问于 2014-04-24 22:25:22
回答 1查看 222关注 0票数 0

我使用this code在java中生成屏幕快照。我使用的方法大约是每秒5-10次,从屏幕截图中计算出一些值并将它们发送出去,所以我不存储截图。这在一段时间内工作正常(10-30分钟),但是方法返回null,因为bufferedImageFromBitmap-方法中的该行ok = GDI.GetDIBits(blitDC, outputBitmap, 0, raster.getHeight(), pixels, bi, 0);返回false。

如果再次调用该方法,它将再次返回null。

如果JNA失败,我尝试使用java.awt.Robot,但随后抛出一个OutOfMemoryException (我尝试了System.gc()并为程序提供了更多的内存,但异常仍然被抛出),但是在任务管理器中,我没有看到程序使用更多的内存。

你知道我能做什么吗(修复/变通/.)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-27 17:08:11

多亏了technomage,这个问题才得以解决

如果我只调用windowDC = GDI.GetDC(USER.GetDesktopWindow());一次,然后重用windowDC,它就不会停止工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23280975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档