
タイトルの通り、ドライブ文字からハードウェア名(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で質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ 外付けHDDの破損?について教えてください。 8 2022/12/27 15:03
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- ドライブ・ストレージ DVDドライブ外付け 4 2022/06/20 17:19
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL、マクロ-改ページ行番号...
-
他のWEBサイトの情報を自動で取...
-
Excel VBA:特定の文字列以降(...
-
「取得先」という表現について
-
アメブロでテーマを指定したRSS...
-
VBブラウザに表示されているテ...
-
【VBA】EXCELブックを開かずに...
-
vb6で、特定のフォルダを常時監...
-
イベントログ情報の取得順番に...
-
format関数について
-
縦型カレンダー
-
PHP の cURL で、htmlを画像へ...
-
VBAでPDFのアクティブページ番...
-
Yahoo! JAPAN IDを新規取得でき...
-
ミュージックのアートワークを...
-
VBS「開いているページ」のURL...
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
excel access連携 このテーブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
EXCEL、マクロ-改ページ行番号...
-
DMMの動画を全件取得したのです...
-
【C#】FindWindowExの使い方を...
-
各クライアントマシンのログイ...
-
(Win32)ファイルパスから物理ド...
-
Yahoo! JAPAN IDを新規取得でき...
-
PHPを使って、別サイトの一部を...
-
ps3で久しぶりにCDの音楽情報取...
-
ローカルのコンピュータ名を取...
-
VBブラウザに表示されているテ...
-
format関数について
-
ミュージックのアートワークを...
-
ドライブ文字からハードウェア...
-
IPアドレスとMACアドレスを取得...
-
VBAでPDFのアクティブページ番...
-
バッチファイルでPCのモデル名...
-
VB or VBScriptでPCの製造番号...
-
iphlpapiのGetAdaptersInfoでNI...
おすすめ情報