5

システムトレイに配置し、ユーザーがUSBデバイスを接続するたびに自動的にポップアップする必要があるSWTアプリケーションを作成しています(アプリケーションはコントロールパネルとして機能します)。

ネイティブ環境(この場合はwin32ですが、最終的にはプラットフォームに依存しないはずです)でこれを行う方法は、WM_DEVICECHANGEイベントをリッスンしてから、デバイスが切断されているかどうかを確認することです。

主題をグーグルすると、SWTは実際にはこのタイプのイベントを処理していないようです。誰かがこれを達成する方法について何か考えがありますか?私のフォールバックソリューションは、n秒ごとにUSBポートをサンプリングし、デバイスを探すことですが、これは私に関する限り、ノーノーソリューションです...

ありがとう、歓声

シャイ

4

4 に答える 4

1

編集:J-16 SDiZは、APIがWindowsにも存在することを報告しました

これは、 JavaアプリケーションからのUSBデバイスへのアクセスに関する非常に優れた記事です。

説明されているjUSBモジュールには、USBListenerオブジェクトが含まれています。

USB構造を監視したいオブジェクトによって実装されたインターフェース。これらの変更が報告される順序は、必ずしも実際の変更が見られた順序であるとは限らず、遅延も発生します。

SWtオブジェクトは、このリスナーを実装して、メソッドが実行するときに何かを実行できます。

deviceAdded(Device dev) 

解雇されます

于 2009-04-22T13:57:33.540 に答える
0

Windows 用の jUSB ポートがhttp://www.steelbrothers.ch/jusb/にあります。

于 2009-04-24T08:18:48.880 に答える
0

Java は、デバイスや USB との直接的な対話を提供しません。USB 関連の機能 (USB ポートからの読み取り/書き込み) を提供する Java 用のサードパーティ ライブラリがいくつかあります。例: http://www.icaste.com/ (商用)

于 2009-04-22T13:49:15.183 に答える