验证U盘的SerialNumber(可以用于登陆,权限控制等操作)
时 间:2017-04-27 09:50:52
作 者:易勋 ID:35404 城市:上海
摘 要:SerialNumber,返回十进制序列号,用于唯一标识一个磁盘卷。
正 文:
函 数:
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long Public Function CheckDrive() As Boolean Dim StrDrive As String Dim DriveID As String Dim i As Integer Dim m As Long Dim myDrive As Object CheckDrive = False StrDrive = String(100, Chr$(0)) '初始化盘符串 m = GetLogicalDriveStrings(100, StrDrive) '返回盘符串 For i = 1 To 100 Step 4 '注意这里是4 DriveID = Mid(StrDrive, i, 3) '枚举盘符 If DriveID = Chr$(0) & Chr(0) & Chr(0) Then Exit For '没有盘符,即时退出循环 If GetDriveType(DriveID) = 2 Then Set myDrive = CreateObject("Scripting.FileSystemObject").GetDrive(DriveID) If Not myDrive.IsReady Then Exit Function '如果磁盘不可用,就终止函数 If myDrive.VolumeName = "RECOVERY" And myDrive.SerialNumber = "-1634556752" Then '“-1634556752”是我的U盘系列码,“RECOVERY”是我的U盘卷标, CheckDrive = True End If End If Next i End Function
用 法:
If CheckDrive Then MsgBox "验证成功!" Else MsgBox "验证失败!" End If
预设U盘的SerialNumber和VolumeName,插入U盘后调用函数CheckDrive,返回Ture或者False。
参考文章:
通过FileSystemObject获取驱动器信息[Access软件网]
http://www.accessoft.com/article-show.asp?id=11459
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)