标题: 用U盘做加密狗,加密Excel文件的代码问题,请高手帮助修改 [打印本页] 作者: 廊桥居士 时间: 2010-2-19 03:21 标题: 用U盘做加密狗,加密Excel文件的代码问题,请高手帮助修改 文档使用U盘物理序列号限制的代码如下(就是没有办法获取到K盘符的U盘,是不是很下面的代码不支持E盘符以上的U盘,我的K盘符U盘那代码需要怎么修改呢): Private Sub Workbook_Open()
Dim objWMIService As Object
Dim colItems As Object
Dim objitem As Object
Dim a, b, c, d, e, U_Dist
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
For Each objitem In colItems
a = objitem.DeviceID
If a Like "*VID*" Then
b = Split(a, "\")
c = Split(b(UBound(b) - 1), "&")
d = Split(c(UBound(c) - 1), "_")
e = Split(c(UBound(c)), "_")
U_Dist = d(UBound(d)) + e(UBound(e)) + b(UBound(b))
If U_Dist = "1307016300000000000027" Then Exit Sub 'U盘物理序列号
End If
Next
MsgBox "找不到正确U盘,系统将退出!"
ThisWorkbook.Close False
End Sub作者: 方漠 时间: 2010-2-20 13:55
加多一条语句测试一下,我的电脑没连U盘也有一串字符{0B9777615&4589DBC&0&1}出来,可能是你的程序获取的字符串不对,N多 "&"号在里面怎么也不会等于你的这个MD5的.
U_Dist = d(UBound(d)) + e(UBound(e)) + b(UBound(b))
MsgBox U_Dist
If U_Dist = "001CC07CEB7FF991614E01C5" Then Exit Sub