Office中国论坛/Access中国论坛

标题: 用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




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3