我正在使用其他StackOverflow帖子中的示例代码 - Java - How to take a screenshot fast,但我遇到了一些问题。
我从Github repository下载了JNA文件,然后将文件复制到JAR文件中并将其放入我的程序所在的文件夹中。但是当我尝试编译我的程序时,它给了我很多错误,如下所示:
C:\Users\windows\Desktop\testPrintScreen>javac JNAScreenShot.java
JNAScreenShot.java:12: error: package com.sun.jna.platform.win32 does not exist
import com.sun.jna.platform.win32.W32API;
^
JNAScreenShot.java:129: error: package com.sun.jna.platform.win32 does not exist
interface GDI32 extends com.sun.jna.platform.win32.GDI32 {
^
JNAScreenShot.java:58: error: cannot find symbol
bufferedImageFromBitmap(GDI32.HDC blitDC,
^
symbol: class HDC
location: interface GDI32
JNAScreenShot.java:59: error: cannot find symbol
GDI32.HBITMAP outputBitmap,
^
symbol: class HBITMAP
location: interface GDI32
JNAScreenShot.java:60: error: cannot find symbol
GDI32.BITMAPINFO bi) {
^
symbol: class BITMAPINFO
location: interface GDI32
JNAScreenShot.java:151: error: package com.sun.jna.platform.win32 does not exist
interface User32 extends com.sun.jna.platform.win32.User32 {
有谁知道发生了什么?它是导致问题的进口部分吗?这些是我的进口商品:
import com.sun.jna.Native;
import com.sun.jna.platform.win32.W32API;
import com.sun.jna.win32.W32APIOptions;
答案 0 :(得分:1)
我目前没有Windows机器,但下面的变体应该可以正常工作。在命令窗口中切换到方便的目录,然后:
git clone https://github.com/twall/jna.git
cd jna
ant
cd dist
pwd
记下最后一条路径,在编译JNA程序时需要在类路径中包含它。您可能还需要在dist文件夹中包含一些其他JAR。
*编辑* 基于您的附加注释,您的代码似乎正在使用较旧的JNA API。有关如何解决该问题的更多信息,请参阅此SO帖子 - JNA W32API - Where are they?。