我正在尝试使用名为Windows.Devices.PointOfService的 Windows dll 中的 CashDrawer 类( https://docs.microsoft.com/en-us/uwp/api/Windows.Devices.PointOfService.CashDrawer )的几个函数。使用 JNA 通过 Java 获取dll,此处提供了示例: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 接口,但我不知道该怎么做。