Java 如何在Windows中使用JNA拍摄屏幕截图?

Java 如何在Windows中使用JNA拍摄屏幕截图?,java,c,winapi,screenshot,jna,Java,C,Winapi,Screenshot,Jna,我找到了一些代码示例,但我不知道可以使用哪些JNA版本和哪些方法。我只找到了片段,其中缺少类,我无法导入它们 我想知道我应该使用哪个JNA版本,以及如何获得作为buffereImage的屏幕截图 所需导入的列表也很好。看起来有。为了便于讨论,我将在下面讨论一个(#3),但您可能会发现另一个例子更适合您的情况,希望这个答案将帮助您理解这个过程 在示例之前,我将回答您的问题“哪些JNA版本”。。。几乎在所有情况下都应使用最新版本。JNA是一个用户支持的库,核心JNA代码变化不大,但每个新版本都会向本

我找到了一些代码示例,但我不知道可以使用哪些JNA版本和哪些方法。我只找到了片段,其中缺少类,我无法导入它们

我想知道我应该使用哪个JNA版本,以及如何获得作为
buffereImage
的屏幕截图

所需导入的列表也很好。

看起来有。为了便于讨论,我将在下面讨论一个(#3),但您可能会发现另一个例子更适合您的情况,希望这个答案将帮助您理解这个过程

在示例之前,我将回答您的问题“哪些JNA版本”。。。几乎在所有情况下都应使用最新版本。JNA是一个用户支持的库,核心JNA代码变化不大,但每个新版本都会向本机函数添加更多用户贡献的映射。注意他们的常见问题,答案是“不,不是,只是等着你添加:)”。如果您需要的映射不在JNA中,您可以使用提供的示例简单地添加它,以满足您当前的需要。更好的是,将您的映射贡献给JNA项目,以便您的下一位同事将从您所做的工作中受益

现在,链接中的示例#3获取整个屏幕的屏幕截图,并将其作为
BufferedImage
对象返回。例如,该示例显示了您将需要的所有导入,大多数来自


如果您滚动到类的底部,您可能还会看到作者使用JNA中没有的映射(或者在2010年编写代码时没有)扩展了两个JNA平台接口贡献。您将不得不进行类似的映射(完成后可能会将它们贡献给各自的JNA类)。

问题是如何在操作系统的API中截图。好的,谢谢,忘记添加了。请在发布之前多花点时间润色您的问题。重读和拼写检查!“你想要一个C答案还是C++答案?”拉基因为问题指定JNA,它必须表示C++。