我们使用com.sun.jna
包从外部库(DLL)调用方法。该库使用一些支持/缓存数据(DAT 文件),它写入“当前工作目录”中。不幸的是,当我们将文件扩展名与我们的应用程序关联时(在 Windows 中双击打开我们的文件),当前工作目录被设置为正在打开的文件的目录,因此我们的 DLL 将其缓存数据写入到打开的文件。这样,如果我们从 HDD 上的不同位置打开许多文件,我们的 DLL 缓存将遍布整个系统。我们还想控制保存任何缓存/临时/支持数据的地方——我们确实控制了它,除了有问题的 DLL 的缓存。
有什么方法可以让我为这个 DLL 设置“当前工作目录”,同时通过来自的类与它通信com.sun.jna
?我可以以某种方式覆盖此设置并将其传递给 JNA 吗?
提前感谢您的任何想法。彼得