通過OCX控制元件實現HTML頁面讀取二代證資訊
有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()">
<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>
相關推薦
通過OCX控制元件實現HTML頁面讀取二代證資訊
近段工作需要接觸了ocx控制元件.. 頭痛啊..對我來說是新東西呢.. 有CVR100.cab包一個.. 內有PCVR_IDCard.ocx檔案.. 命令列, regsvr32 PCVR_IDCard.oxc , 要加路徑啊! 唉..對註冊不是很瞭解呢.. 產品本身的驅
關於PN532 讀取二代證UUID____記錄自己親自實驗成功!!!
相關文章 //========================================================================================================
c# 利用webbrower控制元件列印html——實現列印頁面設定
領導分配了一個任務,利用c#連線印表機,列印一個html頁面,對於一個Java本專業還不太熟練的我,之前從未接觸過c#,挑戰還是很大的。但是沒辦法,做唄!!!首先找一個寫c#的工具唄,所以下載了vs2015,實現方法如下:1、新建一個form專案2、form中整合一個webb
通過WebBrowser控制元件,實現IE瀏覽器選單功能
這篇文章所講的技術,只支援IE瀏覽器,請讀者注意 WebBrowser控制元件,是IE瀏覽器的內建控制元件。顧名思義,這個控制元件我們可以看成是瀏覽器本身。通過WebBrowser控制元件,可以實現一部分IE瀏覽器的選單命令。 1. 使用 首先在畫面上要通過<obje
Java Web中使用JSPSmartUpload控制元件實現檔案的上傳和下載(解決了中文亂碼問題)(JSP頁面採用GBK編碼)
package edu.uestc.updown; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException
IE瀏覽器下OCX控制元件的相容問題(續集)——Javascript程式碼實現
根據上一篇 http://blog.csdn.net/yangyuyu77584/article/details/39694387 博文方案,現給Javascript程式碼實現。 1.瀏覽器的判斷程式碼。(jQuery新版我還沒有使用,不知道是否已經修改了)這裡我自己補充
呼叫OCX控制元件時的宣告和實現
FirstLessonOcx.h #if !defined(AFX_FIRSTLESSONOCX_H__0CA538A0_1E9A_49D9_ADBE_0D21B83849DF__INCLUDED_) #define AFX_FIRSTLESSONOCX_H__0CA53
JS實現OCX控制元件的事件響應
JS支援OCX控制元件的事件(event),當OCX控制元件定義的事件發生時,JS可以捕獲該事件並對事件進行相應的處理。 個人理解,其實就是事件的響應由誰來完成,OCX控制元件自身肯定是可以實現的,JS提供的這種機制使JS也可以完成OCX控制元件事件的響應。 簡單舉例如下
jsp頁面呼叫ocx控制元件
1.ID:為控制元件提供一個標識名稱,為HTML程式碼提供一種訪問該控制元件的方式。 2.CLASSID:是該控制元件唯一的UUID,告訴IE裝入哪個物件。如果使用已經開發好的控制元件,它的CLASSID可以通過呼叫Win95或NT下的應用Regedit來查詢。從開始選單中執行該程式,展開HKEY_CLASS
AjaxPanel自定義控制元件實現頁面無重新整理資料互動(做了個示例程式, 效果確實比較Cool, 用法非常簡單! )(示例程式碼下載)
(一) . 簡要 AjaxPanel, 一個自定義控制元件, 只要在頁面中將AjaxPanel作為父控制元件, 則它內部的控制元件在執行時無重新整理. 做了個程式試了一下果然比較Cool ! 下面介紹一下具體配置, 配置也比較簡單.
WebBrowser呼叫帶有OCX控制元件頁面報錯處理方式
1、報錯內容: 託管除錯助手“LoaderLock”在“******.vshost.exe”中檢測到問題。 其他資訊: 正嘗試在 OS 載入程式鎖內執行託管程式碼。不要嘗試在 DllMain 或映像初
如何使用js來實現通過href完成多個html頁面之間的傳遞引數
有些時候我們需要在一連串的網站跳轉中都要使用某些引數值,那麼樓主分享的是:在不使用php和資料庫的情況下,如何通過簡單的js程式碼來實現多個網站之間的數值傳遞。(適合html+js菜鳥參考,高手勿噴~o(^▽^)o) 本文所要實現的功能如下: 1、A.htm
C#自動實現Dll(OCX)控制元件註冊的兩種方法
儘管MS為我們提供了豐富的.net framework庫,我們的程式C#開發帶來了極大的便利,但是有時候,一些特定功能的控制元件庫還是需要由第三方提供或是自己編寫。當需要用到Dll引用的時候,我們通常會通過“新增引用”的方式將它們納入到專案中,然後就可以像使用自
webbrowser 控制元件實現WinForm與WebForm互動
WebBrowser 控制元件可以讓你裝載Windows Form 應用程式中的 Web 網頁和其它採用瀏覽器的檔案。可以使用webbrowser 控制元件將現有的web框架控制項加入至 Windows Form 客戶端應用程式。還是直接看程式碼吧。 WebBrowser 控制項
電腦端 日期控制元件JS+html
<!-- 日期 --> <input type="text" class="form-control" name="keyword" onClick="WdatePicker()" placeholder="開始日期" /> <input type="text"
自定義的控制元件 實現一個繞圓圈的箭頭
自定義的類 import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import
安卓入門之ListView控制元件實現
ListView介紹 安卓中ListView是一種自定義清單表,我們經常在淘寶上搜索寶貝後所出現的上下可滑動的商品列表、QQ/微信訊息列表等都是ListView控制元件來做的,下面紅框框中就是ListView。 有沒有一種豁然開朗的感覺(瘋狂暗示)。。。所以掌握ListView這種
手機顯示資料的原理:手機通過WebView控制元件顯示網頁資料
WebView控制元件是用於顯示網頁的,手機根據網頁建立一個WebView,之後顯示出來,所以顯示WebView網頁是通過WebView控制元件顯示的。 <script type="text/javascript" charset="utf-8
安卓第三天---ViewPager控制元件實現滑動切換圖片
先不說那麼多,給個圖片表示成功! 這是兩張圖片切換時截的圖,不是錯誤喲! 首先上佈局程式碼: mian_activity.xml佈局檔案(csdn的xml檔案顯示有問題“<”符號,在不顯示的地方我就用“《"代替了,請諒解) <?xml version="1.0" encod
IOS開發學習筆記十六 使用UITableView控制元件實現微博列表效果
效果:專案地址 微博列表唯一需要注意的是每個條目的列表行高不一致,需要在UITableView的代理方法heightForRowAtIndexPath中動態設定行高 需要建立Module物件CZMicroBlogFrame來儲存UITableCell的子View的