找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3476|回复: 0

【开源】取指定磁盘序号的最简单方法

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2009-5-29 09:10:14 | 显示全部楼层 |阅读模式
<p><font face="Verdana">Private Declare Function GetVolumeInformation Lib "kernel32" _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alias "GetVolumeInformationA" _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ByVal lpRootPathName As String, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal lpVolumeNameBuffer As String, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal nVolumeNameSize As Long, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpVolumeSerialNumber As Long, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpMaximumComponentLength As Long, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpFileSystemFlags As Long, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal lpFileSystemNameBuffer As String, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal nFileSystemNameSize As Long) As Long</font></p>
<p><font face="Verdana">Private Sub Form_Load()<br/>Dim sDriveLetter As String<br/>Dim RetVal As Long<br/>Dim lpName As String<br/>Dim nSize As Long<br/>Dim nSerial As Long<br/>Dim lpMaxComp As Long<br/>Dim nFileFlags As Long<br/>Dim lpFileName As String<br/>&nbsp;&nbsp;&nbsp; lpName = Space(255)<br/>&nbsp;&nbsp;&nbsp; lpFileName = Space(255)<br/>&nbsp;&nbsp;&nbsp; nSize = 255</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; sDriveLetter = "c:"&nbsp;&nbsp;&nbsp; '这里你可以指定任何盘号<br/>&nbsp;&nbsp;&nbsp; RetVal = GetVolumeInformation(sDriveLetter, lpName, _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nSize, nSerial, lpMaxComp, nFileFlags, lpFileName, nSize)<br/>&nbsp;&nbsp;&nbsp; '你可以看出,不仅能得到序列号,还可以得到其他很多信息</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; If RetVal = 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '这里是你的错误处理代码<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit Sub&nbsp;&nbsp;&nbsp; 'Quit the subroutine<br/>&nbsp;&nbsp;&nbsp; Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If nSerial &lt; 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug.Print CStr(Abs(nSerial))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug.Print CStr(nSerial)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; End If<br/>End Sub</font></p>
<p><font face="Verdana"><br/></font>&nbsp;</p>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表