
タイトルの通り、ドライブ文字からハードウェア名(Win32_DiskDriveのCaptionで取得できるSAMSUNG HD103UJ ATA Deviceのような文字列)を取得する方法はないでしょうか?
CD-ROMデバイスならWin32_CDRomDriveのDriveでドライブ文字が、Captionでハードウェア名が取得できるので対応付けができるのですが、ハードディスクやUSBメモリは対応付けができなくて困ってます。
QueryDosDeviceでドライブ文字から作成される文字列とsetupapiのSetupDiGetDeviceRegistryProperty(SPDRP_PHYSICAL_DEVICE_OBJECT_NAME)で取得される文字列を比較してデバイスを特定する方法も試してみたのですが、SetupDiGetDeviceRegistryPropertyではハードウェア名(フレンドリー名?)が取得できないようでした。
他にもGetVolumeNameForVolumeMountPointで取得したGUIDをレジストリで強引に検索して
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\CPC\Volume\{GUID}\Data内のデータからWMIでハードウェア特定に使えないかと考えたりしましたが、フォーマットも分からず万能ではなさそうでした。
どなたか、ドライブ文字からハードウェア名を取得する方法をご存じでしたら教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
サイトにソースが掲載されていました。参考になるかもしれません。
「UsefullCode.net」HDDのシリアル番号や型番などを取得する(しかしWin9x用です)
http://www.usefullcode.net/2007/02/hdd.html
「UsefullCode.net」DeviceIOControl()API
http://www.usefullcode.net/mt-search.cgi?tag=Dev …
「Windows DDK」(此れをインストールする)
http://www.usefullcode.net/2006/12/ddk.html
winddk\3790.1830\src\storage\tools\spti の中にあるサンプルコードが参考になりそうです。
ご連絡が遅れてすいませんでした。
参考サイトの
http://www.usefullcode.net/2007/02/if.html
ここを参考にして、やりたかったことができました。
ディスクの情報取得なら、DeviceIOControlの方が便利そうですね。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA:特定の文字列以降(...
-
PHPを使って、別サイトの一部を...
-
Yahoo! JAPAN IDを新規取得でき...
-
コンビニで住民票を取得した場...
-
【C#】FindWindowExの使い方を...
-
ミュージックのアートワークを...
-
社会人の方に質問です。就活終...
-
ThreadのHandleの取得方法を教...
-
Dosブロンプトでtabを出力したい
-
PHP の system コマンド
-
★お手上げ状態です。助けてくだ...
-
配列の操作時にLNK2001外部シン...
-
strtotime 前月・前々月の表示
-
php mysql SELECT文でテーブル...
-
opencvの画像データを格納する...
-
MAC OSX Safari で特定のページ...
-
wordの差し込み印刷で文字...
-
ExcelVBAで部分一致(*)をしたい
-
PHP正規表現の難題・preg_repla...
-
pdftkを使った処理をバッチファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
コンビニで住民票を取得した場...
-
EXCEL、マクロ-改ページ行番号...
-
Yahoo! JAPAN IDを新規取得でき...
-
ps3で久しぶりにCDの音楽情報取...
-
スクレイピングに適した言語を...
-
VB+SQLserverでRecordCount問題
-
format関数について
-
VBAでPDFのアクティブページ番...
-
IPアドレスとMACアドレスを取得...
-
PHPを使って、別サイトの一部を...
-
【VBA】EXCELブックを開かずに...
-
IPアドレス変更方法
-
VB.NETでボリュームを取得・設...
-
ログイン処理を自動で行い、目...
-
VB2005でXMLデータから複数ある...
-
グーグルページランクの取得方法
-
curlで取得出来るデータの制限...
-
iTunesでのCDのトラック名取得...
おすすめ情報