我正在使用 JNA 4.2.1 从 Java 访问 Windows 注册表(不幸的是,这是获取配对蓝牙设备列表的唯一方法)。它工作正常,直到 Windows 10 安装了一些更新,现在我遇到以下问题:
com.sun.jna.platform.win32.Win32Exception: 系统找不到指定的文件。在 com.sun.jna.platform.win32.Advapi32Util.registryGetValues(Advapi32Util.java:1649) 在 IntelleWave.Devices.Device.getCOMportByBTUID(Device.java:243) 在 IntelleWave.Devices.Device.getBTDeviceInstances(Device.java:163 ) 在 IntelleWave.Devices.Device.(Device.java:72) 在 IntelleWave.Devices.DeviceEnumerator.InitDevices(DeviceEnumerator.java:101) 在 IntelleWave.SettingsScreenController 的 IntelleWave.Devices.Device.getDeviceInstances(Device.java:112)。 UpdateDeviceList(SettingsScreenController.java:662) at IntelleWave.SettingsScreenController.initialize(SettingsScreenController.java:153) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441 ) 在 javafx.fxml。
在 java.lang.Thread.run(Thread.java:745)
对我来说,我看到 Win32 异常看起来很奇怪,但实际上我有一个 Windows 64。也许问题与这种差异有关,我必须告诉 JNI 使用 x64 库(Advapi32Util)?
你能建议吗?