|
|

楼主 |
发表于 2020-4-6 17:27:10
|
显示全部楼层
技巧183 使用API取得硬盘信息
. X2 n6 k& G" ^% G% C3 |
7 E3 ~5 N v+ E% W- Private Const MAX_IDE_DRIVES As Long = 4
3 k& S5 y# F* }2 H' C( `' T - Private Const READ_ATTRIBUTE_BUFFER_SIZE As Long = 5122 h" `9 \) ]2 t
- Private Const IDENTIFY_BUFFER_SIZE As Long = 5128 E/ w/ c( w. q1 b- l
- Private Const READ_THRESHOLD_BUFFER_SIZE As Long = 512
Z% M8 T0 a. X7 S2 Y5 W: ]" Y - Private Const DFP_GET_VERSION As Long = &H74080& ]0 d/ J3 s1 G M* n6 Z" m( b8 B
- Private Const DFP_SEND_DRIVE_COMMAND As Long = &H7C084" i2 v) y( P+ h$ y) M' x
- Private Const DFP_RECEIVE_DRIVE_DATA As Long = &H7C088
9 b v7 P, O/ A - ' ……代码略,详见附件
' u2 W) x4 v5 m2 @ - '取得硬盘信息:型号/物理系列号(唯一)8 a2 D6 W' ?- Z9 W/ Z' X. S+ l
- Function GetHardDiskInfo(Optional ByVal numDisk As eumDiskNo = hdPrimaryMaster, Optional ByVal numType As eumInfoType = hdOnlySN) As String
/ a, Y2 s0 f g g% R; A0 E: } - If GetDiskInfo(numDisk) = 1 Then
+ K6 }* U$ e5 u' f. h - Dim pSerialNumber As String, pModelNumber As String
; ^- @$ `1 |! I& f7 j k7 M8 S - pSerialNumber = StrConv(m_DiskInfo.sSerialNumber, vbUnicode)
5 [: b( X- |( l: d" J- a& Q - pModelNumber = StrConv(m_DiskInfo.sModelNumber, vbUnicode)
' g6 l+ E+ t `5 ~( u4 y - Select Case numType
6 b" ^$ o K0 } - Case hdOnlyModel '仅型号) I$ P4 M- _* j+ j: k
- GetHardDiskInfo = Trim(pModelNumber)
* R) p5 G3 E7 C; p& q {. x& ] - Case hdOnlySN '仅系列号2 x# C& ~5 k! [2 A" n
- GetHardDiskInfo = Trim(pSerialNumber)9 M9 G$ U9 e3 l' u: Y* \, I
- Case Else '型号,系列号
9 h7 F( B0 \" n8 k - GetHardDiskInfo = Trim(pModelNumber) & "," & Trim(pSerialNumber)
+ j) l8 ]- J( }8 ~) B3 Z. Z, V0 E! h - End Select. g9 z% C* ^" x' ?# J2 u+ T
- End If
, _3 w# p& [6 u0 A6 f0 v - End Function
复制代码- Sub DiskId()( q& s9 k! s7 X- w/ x9 Z; _
- MsgBox "硬盘的物理系列号:" & GetHardDiskInfo(hdPrimaryMaster, hdOnlySN) _/ W! {* S# `+ n& p' x. {: t
- & Chr(13) & "C盘的序列号:" & GetDiskVolume("C")
- _/ x. h: W5 X- ] - End Sub/ x L, Z: S$ w0 _6 }
复制代码 取得硬盘物理序号
diskid.xls
(78 KB, 下载次数: 0, 售价: 10 个金币)
% S% s' a7 V; k+ m7 {
6 S! t. c3 Z4 A8 l8 Q- v. {+ O
|
|