いつもお世話になっております。
現在、ハードディスクのシリアル番号の取得方法を調べています。
しかし、どのサイトを検索しても、みつかりません。
ずばり、どうすればいいのでしょうか?
言語は、VB6 or VCであればどのような方法でもかまいません。
どなたか知恵をお貸しください。
よろしくお願いします。
ファイルシステムオブジェクトを使用すればシリアル番号や空き容量等が取得できます。
フォームにラベルコントロールを貼り付けて下記のコードを実行してみて下さい。
詳細はヘルプや検索サイト等でFileSystemObjectを調べてください。
Dim fs As Object
Dim drv As Object
Set fs = CreateObject("Scripting.FileSystemObject") 'ファイルシステムオブジェクト作成
For Each drv In fs.Drives
'ハードディスクシリアル番号一覧を作成
If drv.DriveType = 2 Then
Label1.Caption = Label1.Caption & drv.driveletter & ": " & Format$(drv.SerialNumber) & vbCrLf
End If
Next
Set fs = Nothing
batchmanさん、ありがとうございます。
何とかハードディスクのシリアル番号を取得する事ができました。
MSDNを見る限り、WSHを使用していますが、APIを使った取得方法は無いのでしょうか?
というのも、WSHはOSによっては実装していない可能性がありますし、遅いという事も問題になっています。
もう少しお付き合い願えませんでしょうか…
APIで取るならば、GetVolumeInformationで取れるようです。
Dim lngSerial As Long
Call GetVolumeInformation("c:\", vbNullString, 0, lngSerial, 0, 0, vbNullString, 0)
MsgBox Format$(lngSerial)
>WSHはOSによっては実装していない可能性がありますし、遅いという事も問題になっています。
OSというよりIEのバージョンに左右されますね。
#そんなに頻繁にボリューム名を調べるんでしょうか...1、2回程度の参照だとそれほど遅いと感じませんけども...
batchmanさん、ありがとうございます。
おかげで出来ました。
>#そんなに頻繁にボリューム名を調べるんでしょうか...1、2回程度の参照だとそれほど遅いと感じませんけども...
えっと、IEが古い可能性のマシンが多いもので…
ツイート | ![]() |