• ベストアンサー

JAVAでのDBT_DEVICEARRIVAL

JAVAでUSB機器が接続されているかどうかを判別しようと考えています。 調べてみたところ、DBT_DEVICEARRIVALなどのUSB機器の使用状態を示す パラメータがあるので、それを使おうと思うのですが、 JAVAでそれらのパラメータを扱うにはどうすればいいのかわかりません。 質問内容が抽象的で申し訳ないのですが、JAVAでそれらのパラメータを扱うには どうすればよいのか教えていただけると助かります。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

前の質問(QNo.7236429)でのやり方はあきらめたのでしょうかね。 DBT_DEVICEARRIVALはWindowsのイベントなので、C/C++などでWindows用のプログラムを作ってそれをJavaから呼び出す必要があります。 DBT_DEVICEARRIVALにこだわらないなら、Java 6やJava 7には標準でUSB機器を扱う方法がありませんが、Java USB APIというJSRの規格があります。 http://jcp.org/en/jsr/detail?id=80 他にはJava libusbというものもあるようです。 http://libusbjava.sourceforge.net/wp/ 私はどちらも使ったことがありませんが、質問者さんのやりたいことができそうか調べてみてください。

t_maki331
質問者

お礼

回答ありがとうございます。 前の質問事項のもの(getLogicalDrives)は実装できました。 しかし、getLogicalDrivesはドライブ名を取得するのであって、 USB機器を検出するのではないと指摘されたため、USB機器に特化した方法を考える必要があったため再度質問させていただきました。 今回も詳しく答えていただきありがとうごいました。 参考にさせていただきます。

関連するQ&A

専門家に質問してみよう