Enjoy.NET

博客园 首页 新随笔 联系 订阅 管理
因为公司使用的飞天诚信公司ePass1000的USBKEY,在B/S下无法采用像C/S下通过调用其提供的动态库的方法实现从USBKEY中读取其文件内容的方法。而且,由飞天诚信公司提供的帮助文档也写得过于简单,我通过从网上搜索只能找到本公司李会军写的关于此方面的例子。于是我找飞天诚信公司寻求帮助,并通过实验实现了文件读取的功能。以下是用VBSCRIPT实现的文件读取功能: 
例:
<OBJECT id="ePass" style="LEFT: 0px; TOP: 0px" height="0" width="0" classid="clsid:E740C5DF-3XXX-46A7-80EC-364D1ADB6CF0"
   name="ePass" VIEWASTEXT>
  </OBJECT>
  <script language="vbscript">
   function ReadKey()
    On Error Resume Next  
    ePass.GetLibVersion
    ‘判断是否正确驱动
    If Err.number = &H1B6 Then
     MsgBox "USBKEY驱动程序未安装或安装不正确!"
     document.Form1.txtUserName.value=""
     document.Form1.txtIkeyNum.value="Bad"
     Exit function
    end if
    ePass.OpenDevice 1, ""
    ‘打开USBKEY 判读是否插入KEY
    If Err then
     MsgBox " 请 插 入 USBKEY ! "
     document.Form1.txtUserName.value=""
     document.Form1.txtIkeyNum.value="Bad"
     ePass.CloseDevice
     Exit function
    End if
    dim results
    dim filesize
    dim filecontent
    filecontent = ""
    filesize = 0
    results = ""
    '取得key号    
    results = ePass.GetStrProperty(7,0,0)     
    ‘打开一个文件此处为第0个文件
    ePass.OpenFile 0,0
    '取得key文件的size 3为文件的SIZE其他在帮助文件中有注明
    filesize = ePass.GetFileInfo(0,3,0,0)
    '取得key文件内容 不能超过文件内容的大小
          filecontent =ePass.Read (0,0,0,filesize)
     filecontent = left(filecontent,filesize)
    ePass.CloseFile
    ePass.CloseDevice
    document.Form1.txtIkeyNum.value=results 
    document.Form1.TextBox2.value=filecontent  
   End function    
  </script>
posted on 2006-02-21 09:46  Enjoy.NET  阅读(2071)  评论(3编辑  收藏  举报