0

com.sun.jnaパッケージを使用して、外部ライブラリ (DLL) からメソッドを呼び出しています。このライブラリは、「現在の作業ディレクトリ」に書き込むいくつかのサポート/キャッシュ データ (DAT ファイル) を使用します。残念ながら、ファイル拡張子をアプリケーションに関連付けると (Windows でダブルクリックしてファイルを開くため)、現在の作業ディレクトリが開いているファイルのディレクトリに設定されるため、DLL はそのキャッシュ データを次の場所に書き込みます。開いたファイル。そうすれば、HDD のさまざまな場所から多くのファイルを開くと、システム全体に DLL のキャッシュが存在することになります。また、キャッシュ/一時/サポート データを保存する場所を制御することも必要です。問題の DLL のキャッシュを除いて、それを制御します。

からのクラスを介して通信しながら、この DLL の「現在の作業ディレクトリ」を設定する方法はありますcom.sun.jnaか? この設定を何らかの方法で上書きして JNA に渡すことはできますか?

ご意見をお寄せいただきありがとうございます。ピーター

4

1 に答える 1

0

を使用してjvmで変更できますがSystem.setProperty("user.dir","yourpath");、その変更がjna呼び出し後にdllに継承されるかどうかはわかりません。

于 2012-03-06T14:28:29.487 に答える