我正在尝试通过Java使用JNA在名为 Windows.Devices.PointOfService.dll 的Windows dll中使用CashDrawer类(https://docs.microsoft.com/en-us/uwp/api/Windows.Devices.PointOfService.CashDrawer)的几个函数,此处提供了示例:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CashDrawer
我使用JNA调用 msvcrt.dll 尝试了一个简单的helloworld,但是在这里和所有示例中,我发现所使用的函数直接在dll内部。 我的问题是我不知道如何在Windows.Devices.PointOfService中访问CashDrawer的功能。
简单的例子:
public interface JNAApiInterface extends Library {
JNAApiInterface INSTANCE = (JNAApiInterface) Native.loadLibrary("msvcrt", JNAApiInterface.class);
void printf(String format, Object... args);
}
public static void main(String args[]) {
JNAApiInterface instance = JNAApiInterface.INSTANCE;
instance.printf("coucou");
}
我想打开CashDrawer,目前我只能这样做:
public interface JNAApiInterface extends Library {
JNAApiInterface INSTANCE = (JNAApiInterface) Native.loadLibrary("Windows.Devices.PointOfService", JNAApiInterface.class);
// ???
}
public static void main(String args[]) {
JNAApiInterface instance = JNAApiInterface.INSTANCE;
// ???
}
我没有成功的其他选择是使用JNAerator为 Windows.Devices.PointOfService.dll 生成Java接口,但是我不知道该怎么做。