- PR -

VB.NETでUSBデバイスの情報を取得するには?

1
投稿者投稿内容
デミグラス
会議室デビュー日: 2004/07/26
投稿数: 2
投稿日時: 2004-07-26 18:11
こんにちは、林と申します。
開発環境はVB.NET2003 Standard,WinXP SP1aです。

今回投稿させていただいたのは、表題の件についてですが、VB.NETよりUSBデバイスの情報、具体的に言うと各デバイスを一意に識別するための、USBメモリのシリアルナンバーのようなものを取得したいと考えており、Web上でかなり調べたのですが、同じような内容の質問はいくつか見つけたもののいずれも解答がついておらず、該当するような情報源を探し出すことができなく困っております。

もし、VB.NETからUSBデバイスの情報を取得する方法もしくは表題の件に関連するリソースをご存知の方がいましたらご教授いただけませんでしょうか?

よろしくお願い致します。
あみゅせる
常連さん
会議室デビュー日: 2004/07/08
投稿数: 33
お住まい・勤務地: 神奈川県
投稿日時: 2004-07-27 10:40
こんにちは。

本気で解決しようとすると大変そうのなで妥協案など
USBメモリ=標準ストレージクラス限定ということで
Driveオブジェクトのボリュームシリアルを利用してはいかがでしょうか。

フォーマットすると変わってしまうとか本当に一意を保証できるかとか
問題点は残りますが、それが他の要因で回避できればお手軽だと思います。
_________________
デミグラス
会議室デビュー日: 2004/07/26
投稿数: 2
投稿日時: 2004-07-27 18:32
あみゅせる様へ

こんいちは、林です。
お返事ありがとうございます

ボリュームシリアルを取得して使用する方法は実は一度試したことがあるのですが、どうやら試した範囲では全てのOSで同じ値を返すものではなく、必ずしもUSBデバイスを一意に取得することができなかったために、使用をあきらめました。
せっかくアイデアを出して頂いたのに申し訳ありませんm(_ _)m

やはりUSBデバイスのシリアルナンバー取得はかなり難しいようですね。
Windows DDKでも購入してみたほうがよいのでしょうか…。

下記URL
http://support.microsoft.com/default.aspx?scid=kb;ja;417675
にどうやらシリアルナンバー取得の方法らしきものが書いてはあるのですが、
コードがC++でかかれており、自分でVBに書き直したもののやはり正常に動作しなかった経験があります。うーん、上記コードは正しく動くのでしょうか?

もし、他になにかご存知の方がいらっしゃればご教授お願い致します。
あみゅせる様、お返事ありがとうございましたm(_ _)m
ぺがらぼ
会議室デビュー日: 2004/06/25
投稿数: 12
投稿日時: 2004-11-05 13:01
引用:

デミグラスさんの書き込み (2004-07-27 18:32) より:
あみゅせる様へ

こんいちは、林です。
お返事ありがとうございます

ボリュームシリアルを取得して使用する方法は実は一度試したことがあるのですが、どうやら試した範囲では全てのOSで同じ値を返すものではなく、必ずしもUSBデバイスを一意に取得することができなかったために、使用をあきらめました。
せっかくアイデアを出して頂いたのに申し訳ありませんm(_ _)m

やはりUSBデバイスのシリアルナンバー取得はかなり難しいようですね。
Windows DDKでも購入してみたほうがよいのでしょうか…。

下記URL
http://support.microsoft.com/default.aspx?scid=kb;ja;417675
にどうやらシリアルナンバー取得の方法らしきものが書いてはあるのですが、
コードがC++でかかれており、自分でVBに書き直したもののやはり正常に動作しなかった経験があります。うーん、上記コードは正しく動くのでしょうか?

もし、他になにかご存知の方がいらっしゃればご教授お願い致します。
あみゅせる様、お返事ありがとうございましたm(_ _)m



亀レスになりますが、
Driver Development Kit(DDK)
もしくは、
WMIを使う方法があります。
WMIについては、
http://pegalabo.net/cgi/room/c-board.cgi?cmd=one;no=112;id=dotNet
で解決方法が乗っていますので、参照してみてください。
1

スキルアップ/キャリアアップ(JOB@IT)