通过OCX控件实现HTML页面读取二代证信息

近段工作需要接触了ocx控件.. 头痛啊..对我来说是新东西呢..

有CVR100.cab包一个.. 内有PCVR_IDCard.ocx文件.. 

命令行, regsvr32 PCVR_IDCard.oxc , 要加路径啊!

唉..对注册不是很了解呢.. 产品本身的驱动自动给我注册好了,所以这一步我也没做..

注册成功后就可以调用了..

<OBJECT
   classid="clsid:10946843-7507-44FE-ACE8-2B3483D179B7"
   codebase="CVR100.cab#version=3,0,3,3"
   id="CVR_IDCard"
          name="CVR_IDCard"
   width=119
   height=136
   align=center
   hspace=0
   vspace=0     
>
</OBJECT>  

这个就是关键了, classid和version都是可以在注册表中找到的..

然后就是调用 如: CVR_IDCard.ReadCard,CVR_IDCard.Name....

其实步骤很少,只是在注册这方面有点搞不清呢, 出错了也不知道怎么处理.. 我用神思的产品的时候,注册成功了,但就是拿不到对象呢.. 后面解决不了,就换了个产家的产品(华视).. 写的代码都一样,唯一的不同就是神思的是我自己注册的,他们给的列子也运行不起,华视的安装驱动的时候自动给我注册好了..唉..

下面是完整的html代码.. 贴着以后看.. haha

==============================================================

<HTML>
<head>

<script language="JavaScript">
<!--
function HideActiveX() {
   //CVR_IDCard.Visible=false;
   ClearIDCard();
   ClearForm();
   document.all['ReadResult'].value ="等待验证";
   return true;
}

function ClearIDCard() {
   CVR_IDCard.Name="";
   CVR_IDCard.NameL="";
   CVR_IDCard.Sex="";  
   //CVR_IDCard.SexL="";  
   CVR_IDCard.Nation="";
   //CVR_IDCard.NationL="";
   CVR_IDCard.Born="";
   //CVR_IDCard.BornL="";
   CVR_IDCard.Address="";
   CVR_IDCard.CardNo="";
   CVR_IDCard.Police="";
   CVR_IDCard.Activity="";
   CVR_IDCard.NewAddr="";
 
   return true;
}

function ClearForm() {
   document.all['Name'].value = "";
   document.all['Sex'].value = "";
   document.all['Nation'].value = "";
   document.all['Born'].value = "";
   document.all['Address'].value = "";
   document.all['CardNo'].value = "";
   document.all['Police'].value = "";
   document.all['Activity'].value = "";
   document.all['NewAddr'].value = "";   
   document.all['ActivityLFrom'].value = "";
   document.all['ActivityLTo'].value = "";
   document.all['PhotoBuffer'].value = "";
     
   return true;
}

function FillForm() {
  var pName=CVR_IDCard.NameL; //var pNameL=CVR_IDCard.NameL;
  var pSex=CVR_IDCard.SexL;   //var pSexL=CVR_IDCard.SexL;
  var pNation=CVR_IDCard.NationL;  //var pNationL=CVR_IDCard.NationL;
  var pBorn=CVR_IDCard.BornL;      //var pBornL=CVR_IDCard.BornL;
  var pAddress=CVR_IDCard.Address;
  var pCardNo=CVR_IDCard.CardNo;
  var pPolice=CVR_IDCard.Police;
  var pActivity=CVR_IDCard.Activity;
  var pNewAddr=CVR_IDCard.NewAddr; 
  var pActivityLFrom=CVR_IDCard.ActivityLFrom;
  var pActivityLTo=CVR_IDCard.ActivityLTo;
  var pPhotoBuffer=CVR_IDCard.GetPhotoBuffer;
  var pSAMID=CVR_IDCard.SAMID;
  alert(pSAMID);

  document.all['Name'].value = pName;  //document.all['Name'].value = pNameL;
  document.all['Sex'].value = pSex;    // document.all['Sex'].value = pSexL;
  document.all['Nation'].value = pNation; //document.all['Nation'].value = pNationL;
  document.all['Born'].value = pBorn;     //document.all['Born'].value = pBornL;
  document.all['Address'].value = pAddress;
  document.all['CardNo'].value = pCardNo;
  document.all['Police'].value = pPolice; 
  document.all['Activity'].value = pActivity;
  document.all['NewAddr'].value = pNewAddr; 
  document.all['ActivityLFrom'].value = pActivityLFrom;
  document.all['ActivityLTo'].value = pActivityLTo;
  document.all['PhotoBuffer'].value = pPhotoBuffer;

 
  //显示照片Servlet

  return true;
}


function ReadIDCard() {  
   CVR_IDCard.PhotoPath=document.all['PhotoPath'].value;
   CVR_IDCard.TimeOut=3;
   ClearIDCard();
   ClearForm();
   document.all['ReadResult'].value ="请放卡...";
   var strReadResult=CVR_IDCard.ReadCard;    
   FillForm(); 
   document.all['ReadResult'].value ="返回值:"+strReadResult;
   //alert(strReadResult); 
   if (strReadResult=="0"){
    //if (confirm("需要查询黑名单吗?"))
    //{
        var windowX = (window.screen.width - 640) / 2 ;
  var windowY = (window.screen.height - 100) / 2 ;
  var newWin=window.open("asp/SearchBlacklist.asp?CardNo="+document.all['CardNo'].value+"&Name="+document.all['Name'].value,"newwindow", "top="+windowY+",left="+windowX+",width=640,height=100");
   //newWin.moveTo(windowX,windowY);
        //window.location="asp/SearchBlacklist.asp?CardNo="+document.all['CardNo'].value;
    //}   
   }

   return true;
}

function DoStopRead() {
   CVR_IDCard.DoStopRead;
   ClearIDCard();
   ClearForm();
   document.all['ReadResult'].value ="用户已取消读卡"
   return true;
}

function DoCheckReader() {
   var State=CVR_IDCard.GetState;
   document.all['ReadResult'].value =State;  
   var pSAMID=CVR_IDCard.SAMID;
  alert(ppSAMID);
   return true;
}

function Save_IDCard() {  
  var pName=CVR_IDCard.Name;
  var pSex=CVR_IDCard.Sex;
  var pNation=CVR_IDCard.Nation;
  var pBorn=CVR_IDCard.Born;
  var pAddress=CVR_IDCard.Address;
  var pCardNo=CVR_IDCard.CardNo;
  var pPolice=CVR_IDCard.Police;
  var pActivity=CVR_IDCard.Activity;
  var pNewAddr=CVR_IDCard.NewAddr;
  var pActivityLFrom=CVR_IDCard.ActivityLFrom;
  var pActivityLTo=CVR_IDCard.ActivityLTo;
  var pPhotoBuffer=CVR_IDCard.GetPhotoBuffer;

  if (pName == "") {   
      ClearForm();
      alert('读卡内容为空,无法保存数据!请先读卡,再保存。');
      return false;
  }
  document.all['Name'].value = pName;
  document.all['Sex'].value = pSex;
  document.all['Nation'].value = pNation;
  document.all['Born'].value = pBorn;
  document.all['Address'].value = pAddress;
  document.all['CardNo'].value = pCardNo;
  document.all['Police'].value = pPolice; 
  document.all['Activity'].value = pActivity;
  document.all['NewAddr'].value = pNewAddr;
  document.all['ActivityLFrom'].value = pActivityLFrom;
  document.all['ActivityLTo'].value = pActivityLTo;
  document.all['PhotoBuffer'].value = pPhotoBuffer;

  //相片文件默认保存在 CVR_IDCard.PhotoPath

  ClearIDCard();
  return true;
}

function Addto_BlackList(){
  if (document.all['CardNo'].value == "") {
     alert('身份证号内容为空,无法添加黑名单数据,请输入身份证号及姓名!');
     return false;      
  }  
  window.location="asp/post.asp?CardNo=" + document.all['CardNo'].value+"&Name="+document.all['Name'].value;
  return true;
}

function All_BlackList(){
  window.location="asp/ALLBlacklist.asp";
  return true;
}

function Search_BlackList(){
   if (document.all['CardNo'].value == "") {
     alert('请输入 身份证号 及 姓名 查询黑名单数据!');
     return false;      
   }
   var windowX = (window.screen.width - 640) / 2 ;
   var windowY = (window.screen.height - 100) / 2 ;
var newWin=window.open("asp/SearchBlacklist.asp?CardNo="+document.all['CardNo'].value+"&Name="+document.all['Name'].value,"newwindow", "top="+windowY+",left="+windowX+",width=640,height=100");
 
   return true;
}
//-->
</script>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>第二代居民身份证阅读软件——深圳华视电子读写设备有限公司(c)版权所有</title>
<link rel="stylesheet" href="pic/style3.css"  type="text/css">
</head>

<body onLoad="HideActiveX()" topmargin="0" bgcolor="#D2F0FF">

<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td width="100%" colspan="3">
      <p align="center"><b><font color="#5555FF" size="6"> 深圳华视电子读写设备有限公司</font></b></td>
  </tr>
  <tr>
    <td width="33%"></td>
    <td width="33%">
<p align="center"><font color="#FF0000">第二代居民身份证阅读软件</font>
    </td>
    <td width="34%"></td>
  </tr>
  <tr>
    <td width="33%" bgcolor="#FF9900"> </td>
    <td width="33%" bgcolor="#FF9900">
      <p align="center"><font color="#FF0000">(For                                                                                            
RS232/USB Reader)</font></td>
    <td width="34%" bgcolor="#FF9900"> </td>
  </tr>
</table>
<p>  
<OBJECT
   classid="clsid:10946843-7507-44FE-ACE8-2B3483D179B7"
   codebase="CVR100.cab#version=3,0,3,3"
   id="CVR_IDCard"
          name="CVR_IDCard"
   width=119
   height=136
   align=center
   hspace=0
   vspace=0     
>
</OBJECT>  

     
</center><form name="MyForm" action="asp/SaveIDCard.asp" method=post onSubmit="return Save_IDCard()"><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr>      
             
          <td width="21%"></td>
          <td  width="51%" colspan="3">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
            <td width="33%">
              <p align="right">
   <input type="button" name="ReadCard" value="读身份证" onClick="return ReadIDCard()">
            </td>
            <td width="33%">
              <p align="center"><input type="button" name="StopRead" value="停止读卡" onClick="return DoStopRead()">
            </td>
            <td width="34%">
              <p align="left">             
              <input type="button" name="StopRead1" value="检测设备" onClick="return DoCheckReader()">   
            </td>
          </tr>
        </table>
          </td>

          <td width="28%"></td>
    </tr>
        <tr>
          <td width="21%"></td>
          <td width="51%" colspan="3">
            <HR>
          </td>
          <td width="28%"></td>
        </tr>
        <tr>
          <td width="21%"></td>
          <td width="11%">
        </td>
          <td width="18%"> </td>
          <td width="23%" valign="top">
  </td>

          <td width="28%"></td>
        </tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">姓名:</p>
        </td>
        <center>
          <td width="18%"><input type="text" name="Name" size="20" class=Input3> </td>
        </center>
     
          <td width="23%" valign="top">        
   
         
   
</td>

<center>
<center>
        <center>
          <td width="28%"></td>
        </center></center></center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">性别:</p>
        </td>
        <center>
          <td width="18%"><input type="text" name="Sex" size="20" class=Input3></td>
        </center>
     
          <td width="23%" valign="top">        
   
         
   
</td>

    </tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">民族:</p>
        </td>
        <center>
          <td width="18%"><input type="text" name="Nation" size="20" class=Input3></td>
        </center>
     
          <td width="23%" valign="top">        
   
         
   
</td>

    </tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">出生:</p>
        </td>
        <center>
          <td width="18%"><input type="text" name="Born" size="20" class=Input3></td>
        </center>
     
          <td width="23%" valign="top">        
   
         
   
</td>

    </tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">地址:</p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="Address" size="49" class=Input2></td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right"><font color="#FF0000"><b>身份证号:</b></font></p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="CardNo" size="49" class=Input2 style="color: #FF0000"></td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">签发机关:</p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="Police" size="49" class=Input2></td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">有效期限:</p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="Activity" size="49" class=Input2></td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">期限起始:</p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="ActivityLFrom" size="49" class=Input2> </td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       
     
          <td width="11%">
            <p align="right">期限失效:
        </td>
<center>
<center>
        <center>
          <td width="41%" colspan="2"><input type="text" name="ActivityLTo" size="49" class=Input2> </td>
          <td width="28%"></td>
        </center></center></center></tr>
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right">最新地址:</p>
        </td>
        <center>
          <td width="41%" colspan="2"><input type="text" name="NewAddr" size="49" class=Input2> </td>
          <td width="28%"></td>
        </center></tr>
        <tr>
          <td width="21%"></td>
       

          <td width="11%">
            <p align="right">照片路径:</p>
        </td>
          <td width="41%" colspan="2"><input type="text" name="PhotoPath" value="C:/" size="49" class=Input2> </td>
<center>
<center>
        <center>
          <td width="28%"></td>
        </center></center></center></tr>       
        <tr>
          <td width="21%"></td>
       

          <td width="11%" valign="top">
            <p align="right">
            照片编码:</p>
            <p align="center">
             </p>
        </td>
<center>
<center>
        <center>
          <td width="41%" colspan="2"><textarea rows="4" name="PhotoBuffer" cols="47" class=MultiEditBox></textarea> </td>
          <td width="28%"></td>
        </center></center></center></tr>       
        <tr>
          <td width="21%"></td>
          <td width="11%">
          </td>
          <td width="41%" colspan="2">  </td>
          <td width="28%"></td>
        </tr>       
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
            <p align="right"><font color="#0000FF">操作提示:</font></p>
        </td>

         
      <td width="41%" colspan="2">
          <input type="text" name="ReadResult" value="等待验证" size="32"><input type=submit name="submit" value="保存读卡结果">
  </td>   
          <td width="28%"></td>         
    </tr> 
           
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
        </td>

         
      <td width="41%" colspan="2">
        <p align="left">
          <input type="button" name="BtnAddBlackList" value="加入黑名单" onClick="return Addto_BlackList()">&nbsp;&nbsp; 
          <input type="button" name="BtnAllBlackList" value="全部黑名单" onClick="return All_BlackList()">        
        </p>
        <p align="left">
          <input type="button" name="BtnSearchBlackList" value="查询黑名单" onClick="return Search_BlackList()">    
        </p>
        <p> 
  </td>   

         
          <td width="28%"></td>         
    </tr> 
           
        <tr>
          <td width="21%"></td>
       
          <td width="11%">
        </td>

         
      <td width="41%" colspan="2">
  </td>   
        <center>

         
          <td width="28%"></td>         
        </center></tr> 
           
      </table>
      
      </form>
    
             

             
</body>
</HTML>

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值