
タイトルの通り、ドライブ文字からハードウェア名(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:特定の文字列以降(...
-
「取得先」という表現について
-
EXCEL、マクロ-改ページ行番号...
-
VB.NETでボリュームを取得・設...
-
ps3で久しぶりにCDの音楽情報取...
-
ExcelVBAで、FileSystemObject...
-
webサイトの参考資料:サイト名 ...
-
(Win32)ファイルパスから物理ド...
-
コンビニで住民票を取得した場...
-
企業用メールアドレスの取得
-
Yahoo! JAPAN IDを新規取得でき...
-
Win32apiでUSBカメラ映像取得の...
-
ローカルのコンピュータ名を取...
-
ファイル名のリスト取得について
-
各クライアントマシンのログイ...
-
iTunesでのCDのトラック名取得...
-
findstrのerrorlevel
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
classの再定義エラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
VB.NETでボリュームを取得・設...
-
EXCEL、マクロ-改ページ行番号...
-
VBAでPDFファイルの文書のプロ...
-
ps3で久しぶりにCDの音楽情報取...
-
ミュージックのアートワークを...
-
ローカルのコンピュータ名を取...
-
Yahoo! JAPAN IDを新規取得でき...
-
各クライアントマシンのログイ...
-
ドライブ文字からハードウェア...
-
VBAでPDFのアクティブページ番...
-
webサイトの参考資料:サイト名 ...
-
IEを使わないでhtmlテキストを...
-
format関数について
-
C# ASP.NET でIPアドレスからア...
-
(Win32)ファイルパスから物理ド...
-
【VBA】EXCELブックを開かずに...
-
ファイル名のリスト取得について
-
コンビニで住民票を取得した場...
おすすめ情報